我正在使用fsockopen()
从另一台服务器上的页面请求值。返回的值只是一个单词(例如“法语”)。当我在localhost(MAMP)上测试时,这可以正常工作,向远程服务器发出请求。但是,当我测试服务器到服务器时,我最终会得到额外的字符,例如:
6%0D%0AFrench%0D%0A0%0D%0A%0D%0A
要么
7%0D%0AEnglish%0D%0A0%0D%0A%0D%0A
我正在使用显示here的http_request()函数。我做的唯一改变是增加超时。我用它来调用它:
$thelanguage = http_request('GET', $domain, 80, $path);
我已经在多个服务器上测试了这个,当我从发出请求时,除了localhost之外,还会显示额外的字符。
我有点不知道如何继续。看来返回的字符串开头的6或7是字符数,但我不知道它来自何处。任何帮助将不胜感激。
答案 0 :(得分:1)
似乎返回的字符串开头的6或7是字符数
烨!您将看到chunked transfer encoding:数据长度,CRLF,数据,然后是另外两个CRLF对。我相信最后的CRLF意味着它是最后一块。
您可能希望使用更加完善,经过良好测试的全功能HTTP请求机制,例如通常内置的curl extension或PEAR's HTTP_Request2。