[英]HTTP PUT Request in PHP
如何使用JSON字符串{“ key”:“ la09823”,“ content”:“ jfkdls”}使帶有Random-Header和REQUEST-BODY的PUT HTTP REQUEST到( http://sample.com:8888/folder ) HTTP狀態碼200 OK會很好。 對不起,我的第一個套接字令人困惑的php代碼:D <3。 謝謝
<?php
$json = "\{\"key\": \"la09823\", \"content\": \"jfkdls\"}";
$hostname="http://sample.com/folder");
$port = 8888;
$timeout = 50;
$socket = socket_create(AF_INET, SOCK_STREAM, tcp);
socket_connect($socket, $hostname, $port);
$text = "PUT /folder/json.txt" HTTP/1.1\n";
$text .= "Host: WhoIAm.com\n";
$text .= "Content-Type: application/json\n";
$text .= "Content-length: " . strlen($json) . "\n";
$finish = $text + $json;
socket_write($socket, $finish, 0);
socket_close($socket);
?>
不要使用原始套接字發出HTTP請求。 有很多更好的庫,例如cURL:
<?php
$data = [
"key" => "la09823",
"content" => "jfkdls",
];
$req = curl_init();
curl_setopt_array($req, [
CURLOPT_URL => "https://httpbin.org/put",
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [ "Content-Type" => "application/json" ],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($req);
print_r($response);
(我已經使用httpbin來測試此代碼。顯然,您將在此處使用其他URL。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.