Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to parse URI in Ipv6 #3191

Closed
huankong233 opened this issue Nov 17, 2023 · 14 comments
Closed

Unable to parse URI in Ipv6 #3191

huankong233 opened this issue Nov 17, 2023 · 14 comments

Comments

@huankong233
Copy link

huankong233 commented Nov 17, 2023

Guzzle version(s) affected: 7.8.1
PHP version: 8.2.3
cURL version: 7.86.0 and 8.4.0

Description
Unable to parse URI in Ipv6.
But I can download with this link in IDM.
Tip: This link may have an expiration date.

How to reproduce
using with laravel v10.10

<?php

namespace App\Http\Controllers;

use GuzzleHttp\Client;

class TestController extends Controller
{
    public function test()
    {
        $http = new Client();
        $http->head("http://[2409:801a:3000:0020::111.40.186.36]/b/nd6.baidupcs.com/file/58f92ed2289e66ff59a671f183c2c569?bkt=en-038bee77e919b76a2b7812a7a3787805152a8e1754ed45aeedf889a9b43b10f72addc99ed956f769&xcode=fe2f6303a15fb93c6cdc96afc010f5331fe740094d5344fbe9b30fb9fe052f298872b699484ffd41&fid=324121579-250528-761385912993830&time=1700229887&sign=FDTAXUbGERQlBHSKfqiu-DCb740ccc5511e5e8fedcff06b081203-Ur4fyDLYPj1a4hfAPLRRKq6z3do%3D&to=nd6&size=8255082&sta_dx=8255082&sta_cs=4183&sta_ft=zip&sta_ct=7&sta_mt=5&fm2=MH%2CBaoding%2CAnywhere%2C%2C%E6%B2%B3%E5%8D%97%2Ccmnet&ctime=1569282612&mtime=1684732598&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=8255082&vuk=264192701&iv=2&htype=&randtype=&tkbind_id=0&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-30ca520a677f9a8d9f058b10d66a1d1a8ae86580d28a98595e1bc6c6d8a51962baf13026f964fe91&expires=8h&rt=sh&r=726687287&vbdid=2503992598&fin=%E8%A7%86%E9%A2%91%E5%89%AA%E5%88%87%E5%90%88%E5%B9%B6%E5%99%A8.zip&rtype=1&dp-logid=525511616800316189&dp-callid=0.1&tsl=0&csl=0&fsl=-1&csign=ygoiUO9Yb4pT5U7tcKi6geiBbv8%3D&so=1&ut=1&uter=0&serv=0&uc=3031334550&ti=b901726ac386759c2ad33676c7e4eeadd357324b9da7620d305a5e1275657320&hflag=10&from_type=3&adg=c_10cab0304460e6c31ca6383e54bca004&reqlabel=250528_f_0d379c25691f1db02fd2dff786ffd19a_-1_e575750a3c4aa01749b9e79faa454520&by=themis&resvsflag=1-12-0-1-1-1", [
            'allow_redirects' => [
                'follow_redirects' => false,
                'track_redirects'  => true,
            ]
        ]);
    }
}

Possible Solution
I don't known.😫

Additional context
image

@GrahamCampbell
Copy link
Member

Can you show us a full stack trace. That screenshot is near useless. Possibly this is a curl bug - can you try with 8.4.0?

@huankong233
Copy link
Author

Can you show us a full stack trace. That screenshot is near useless. Possibly this is a curl bug - can you try with 8.4.0?

is this?

[2023-11-17 22:44:39] local.ERROR: Unable to parse URI: http://[2409:801a:3000:0020::111.40.186.36]/b/nd6.baidupcs.com/file/58f92ed2289e66ff59a671f183c2c569?bkt=en-038bee77e919b76a2b7812a7a3787805152a8e1754ed45aeedf889a9b43b10f72addc99ed956f769&xcode=fe2f6303a15fb93c6cdc96afc010f5331fe740094d5344fbe9b30fb9fe052f298872b699484ffd41&fid=324121579-250528-761385912993830&time=1700229887&sign=FDTAXUbGERQlBHSKfqiu-DCb740ccc5511e5e8fedcff06b081203-Ur4fyDLYPj1a4hfAPLRRKq6z3do%3D&to=nd6&size=8255082&sta_dx=8255082&sta_cs=4183&sta_ft=zip&sta_ct=7&sta_mt=5&fm2=MH%2CBaoding%2CAnywhere%2C%2C%E6%B2%B3%E5%8D%97%2Ccmnet&ctime=1569282612&mtime=1684732598&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=8255082&vuk=264192701&iv=2&htype=&randtype=&tkbind_id=0&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-30ca520a677f9a8d9f058b10d66a1d1a8ae86580d28a98595e1bc6c6d8a51962baf13026f964fe91&expires=8h&rt=sh&r=726687287&vbdid=2503992598&fin=%E8%A7%86%E9%A2%91%E5%89%AA%E5%88%87%E5%90%88%E5%B9%B6%E5%99%A8.zip&rtype=1&dp-logid=525511616800316189&dp-callid=0.1&tsl=0&csl=0&fsl=-1&csign=ygoiUO9Yb4pT5U7tcKi6geiBbv8%3D&so=1&ut=1&uter=0&serv=0&uc=3031334550&ti=b901726ac386759c2ad33676c7e4eeadd357324b9da7620d305a5e1275657320&hflag=10&from_type=3&adg=c_10cab0304460e6c31ca6383e54bca004&reqlabel=250528_f_0d379c25691f1db02fd2dff786ffd19a_-1_e575750a3c4aa01749b9e79faa454520&by=themis&resvsflag=1-12-0-1-1-1 {"exception":"[object] (GuzzleHttp\Psr7\Exception\MalformedUriException(code: 0): Unable to parse URI: http://[2409:801a:3000:0020::111.40.186.36]/b/nd6.baidupcs.com/file/58f92ed2289e66ff59a671f183c2c569?bkt=en-038bee77e919b76a2b7812a7a3787805152a8e1754ed45aeedf889a9b43b10f72addc99ed956f769&xcode=fe2f6303a15fb93c6cdc96afc010f5331fe740094d5344fbe9b30fb9fe052f298872b699484ffd41&fid=324121579-250528-761385912993830&time=1700229887&sign=FDTAXUbGERQlBHSKfqiu-DCb740ccc5511e5e8fedcff06b081203-Ur4fyDLYPj1a4hfAPLRRKq6z3do%3D&to=nd6&size=8255082&sta_dx=8255082&sta_cs=4183&sta_ft=zip&sta_ct=7&sta_mt=5&fm2=MH%2CBaoding%2CAnywhere%2C%2C%E6%B2%B3%E5%8D%97%2Ccmnet&ctime=1569282612&mtime=1684732598&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=8255082&vuk=264192701&iv=2&htype=&randtype=&tkbind_id=0&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-30ca520a677f9a8d9f058b10d66a1d1a8ae86580d28a98595e1bc6c6d8a51962baf13026f964fe91&expires=8h&rt=sh&r=726687287&vbdid=2503992598&fin=%E8%A7%86%E9%A2%91%E5%89%AA%E5%88%87%E5%90%88%E5%B9%B6%E5%99%A8.zip&rtype=1&dp-logid=525511616800316189&dp-callid=0.1&tsl=0&csl=0&fsl=-1&csign=ygoiUO9Yb4pT5U7tcKi6geiBbv8%3D&so=1&ut=1&uter=0&serv=0&uc=3031334550&ti=b901726ac386759c2ad33676c7e4eeadd357324b9da7620d305a5e1275657320&hflag=10&from_type=3&adg=c_10cab0304460e6c31ca6383e54bca004&reqlabel=250528_f_0d379c25691f1db02fd2dff786ffd19a_-1_e575750a3c4aa01749b9e79faa454520&by=themis&resvsflag=1-12-0-1-1-1 at C:\xampp\htdocs\94list-laravel\vendor\guzzlehttp\psr7\src\Uri.php:85)
[stacktrace]
#0 C:\xampp\htdocs\94list-laravel\vendor\guzzlehttp\psr7\src\Utils.php(458): GuzzleHttp\Psr7\Uri->__construct('http://[2409:80...')
#1 C:\xampp\htdocs\94list-laravel\vendor\guzzlehttp\guzzle\src\Client.php(161): GuzzleHttp\Psr7\Utils::uriFor('http://[2409:80...')
#2 C:\xampp\htdocs\94list-laravel\vendor\guzzlehttp\guzzle\src\Client.php(189): GuzzleHttp\Client->requestAsync('HEAD', 'http://[2409:80...', Array)
#3 C:\xampp\htdocs\94list-laravel\vendor\guzzlehttp\guzzle\src\ClientTrait.php(61): GuzzleHttp\Client->request('HEAD', 'http://[2409:80...', Array)
#4 C:\xampp\htdocs\94list-laravel\app\Http\Controllers\InstallController.php(21): GuzzleHttp\Client->head('http://[2409:80...', Array)
#5 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Controller.php(54): App\Http\Controllers\InstallController->test()
#6 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php(43): Illuminate\Routing\Controller->callAction('test', Array)
#7 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Route.php(259): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\InstallController), 'test')
#8 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Route.php(205): Illuminate\Routing\Route->runController()
#9 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Router.php(799): Illuminate\Routing\Route->run()
#10 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#11 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#12 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Middleware\ThrottleRequests.php(159): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#14 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Middleware\ThrottleRequests.php(125): Illuminate\Routing\Middleware\ThrottleRequests->handleRequest(Object(Illuminate\Http\Request), Object(Closure), Array)
#15 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Middleware\ThrottleRequests.php(87): Illuminate\Routing\Middleware\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\Http\Request), Object(Closure), 'api', Object(Closure))
#16 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Routing\Middleware\ThrottleRequests->handle(Object(Illuminate\Http\Request), Object(Closure), 'api')
#17 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#18 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Router.php(798): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#19 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Router.php(777): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#20 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Router.php(741): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#21 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Routing\Router.php(730): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#22 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(200): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#23 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#24 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#25 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#27 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(89): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Http\Middleware\HandleCors.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(175): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#40 C:\xampp\htdocs\94list-laravel\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#41 C:\xampp\htdocs\94list-laravel\public\index.php(51): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#42 {main}
"}

@huankong233
Copy link
Author

I am using the latest version of xampp. I don't know how to update php_curl.php. If I replace it with the new version, it will cause a crash.

@huankong233
Copy link
Author

image

strange, huh?

@huankong233
Copy link
Author

huankong233 commented Nov 17, 2023

image
image

normal ipv6 is right

but not work in this one http://[2409:801a:3000:0020::111.40.186.36]

Maybe another standard?

@huankong233
Copy link
Author

image
image

image
works fine in IDM

@GrahamCampbell
Copy link
Member

GrahamCampbell commented Nov 17, 2023

What version of guzzlehttp/psr7 do you have. Do you have additional copies globally installed, as well as locally?

@GrahamCampbell
Copy link
Member

[2409:801a:3000:0020::111.40.186.36] is actually an invalid IPv6 address. I don't think there is an issue here.

@GrahamCampbell
Copy link
Member

Oh, hmmm. I guess we don't include the optional IPv4 component at this time.

@huankong233
Copy link
Author

[2409:801a:3000:0020::111.40.186.36] is actually an invalid IPv6 address. I don't think there is an issue here.

i ask the newbing,she said the same word,but i don't known why idm can work well with this link,or how can i solve this problem?😭

@huankong233
Copy link
Author

What version of guzzlehttp/psr7 do you have. Do you have additional copies globally installed, as well as locally?

https://github.com/huankong233/94list-laravel/blob/main/composer.lock

this is my lock file

Copy link

stale bot commented Mar 17, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 2 weeks if no further activity occurs. Thank you for your contributions.

@stale stale bot added the lifecycle/stale No activity for a long time label Mar 17, 2024
@huankong233
Copy link
Author

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 2 weeks if no further activity occurs. Thank you for your contributions.

undone yet 😉

@stale stale bot removed the lifecycle/stale No activity for a long time label Mar 17, 2024
@GrahamCampbell
Copy link
Member

Closing since there is no capacity on our side to fix this. We'd accept external contributions, however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants