如何将自定义HTTP请求发送到URL为“http:// [IP]:[Port] /”的服务器?PHP发送自定义HTTP请求
我的意思是,与其第一行是一个正常的GET或POST像这样:
GET /index.html HTTP/1.1
Host: www.example.com
怎么可以这样的东西取代只是想:
CUSTOM
Host: [IP]
我不如果需要的话,不必介意使用任何额外的库,例如cURL。
UPDATE:
我使用下面的代码卷曲尝试:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://[IP]:[Port]/");
curl_setopt($ch, CURLOPT_PORT, [Port]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "CUSTOM");
$output = curl_exec($ch);
curl_close($ch);
print($output);
但它只是不断加载2分钟,直到它说内部错误(既没有使用CURLOPT_CUSTOMREQUEST)。但是,如果我使用标准网站(例如http://google.com),它将正常工作。
另外我忘了提及,我的服务器使用的端口是7899,这是好吗?在我的web浏览器中打开它,但cURL似乎不能。
RTLM:http://php.net/manual/en/function.stream-context-create.php和/或http ://php.net/manual/en/function.curl-setopt.php(寻找CURLOPT_CUSTOMREQUEST) –
这可能是有趣的:http://php.net/manual/en/function.http-request.php –
只是为了迂回:如果第一行不是“Method Request-URI HTTP-Version”,那么它不是HTTP。 RFC 2616第5.1节。 – RichieHindle