"Broken pipe" trying to use Protocols.HTTP.* on some https URIs
Chris Angelico <[email protected]>
| Newsgroups | gmane.comp.lang.pike.user |
|---|---|
| Message-ID | <CAPTjJmpWKN0NSqm-XF2R5O42Jbfd=Dnr64WEgtq6FXf=YwwV0Q@mail.gmail.com> |
Any time I attempt to fetch an HTTPS page using
Protocols.HTTP.get_url_data(), I get an error thrown saying I/O error
32, broken pipe. Simple test case using the lower-level query object:
int main()
{
Protocols.HTTP.Query con = Protocols.HTTP.Query();
con->https = 1;
con->sync_request("gideon.rosuav.com", 443, "GET / HTTP/1.0");
write("errno = %d: %s\n", con->errno, strerror(con->errno));
write("data = %O\n", con->data());
}
My original code was more like this:
Protocols.HTTP.get_url_data("https://gideon.rosuav.com/");
I/O error: Broken pipe
/usr/local/pike/8.1.2/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:319:
Protocols.HTTP.do_method("GET",URI("https://gideon.rosuav.com/"),UNDEFINED
,mapping[2],Protocols.HTTP.Query(),UNDEFINED)
/usr/local/pike/8.1.2/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:621:
Protocols.HTTP.get_url("https://gideon.rosuav.com/",UNDEFINED,UNDEFINED,UN
DEFINED)
/usr/local/pike/8.1.2/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:670:
Protocols.HTTP.get_url_nice("https://gideon.rosuav.com/",UNDEFINED,UNDEFIN
ED,UNDEFINED)
/usr/local/pike/8.1.2/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:687:
Protocols.HTTP.get_url_data("https://gideon.rosuav.com/",UNDEFINED,UNDEFIN
ED,UNDEFINED)
I get the same thing accessing en.wikipedia.org via https, which is
rather more annoying, as they're now redirecting all non-SSL
connections. Same with www.google.com, but interestingly, NOT with
www.thinkful.com.
Firstly: Can someone confirm whether this is happening for them too? I
tried it on four of my computers and got the same result on all, but
that could be because I've consistently misconfigured something. And
secondly: What can I do to fix this, other than trying to do
everything without SSL? Is it a problem at the site? A certificate
issue? It seems to be completely consistent on any given site, but I
don't see a pattern in what works and what doesn't.
ChrisA