簡體   English   中英

PHP發送自定義HTTP請求

[英]PHP Send Custom HTTP Request

如何將自定義HTTP請求發送到URL為“http:// [IP]:[端口] /”的服務器?

我的意思是,而不是第一行是正常的GET或POST,如下所示:

GET /index.html HTTP/1.1
Host: www.example.com

如何將其替換為以下內容:

CUSTOM
Host: [IP]

我不介意在必要時使用任何其他庫,例如cURL。

更新:

我嘗試使用以下cURL代碼:

$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,這樣可以嗎? 在我的網絡瀏覽器中打開它很好,但cURL似乎無法做到。

看起來您的代碼沒有任何問題。 如果您使用的是共享主機提供商,請讓他們打開出站TCP端口7899。

您可以使用http_request_method_register函數創建自定義HTTP請求方法:

http://www.php.net/manual/en/function.http-request-method-register.php

此代碼需要在將處理請求的服務器上運行。 如果您嘗試在任何舊服務器上使用非標准HTTP請求方法,則可能會忽略它,或者可能返回錯誤代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM