我正在用PHP編寫一個博客,它必須對另一個Web服務進行HTTP API調用。我使用的PHP沒有curl支持,所以我無法使用它。如何在不捲曲的情況下從PHP進行HTTP API調用?如何直接從PHP發出HTTP請求而不支持curl?
回答
取決於API的響應。
如果您的回覆以XML形式返回,則$response = simplexml_load_file($API_CALL)
爲我工作。
如果你的回覆是json,那麼$response = json_decode(file_get_contents($API_CALL))
應該可以工作。
也POST請求,你能做到這一點
$url = 'http://domain/path';
$data = array('key1' => 'value1', 'key2' => 'value2');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
您是否也知道如何做POST請求並上傳數據? – bodacydo 2014-10-09 17:55:49
取決於API所有我創建的GET上傳函數,以便通話可以說http://domain/API.dll?API = CREATE&XML = 然後我對這些的迴應是真或假+錯誤。你創建了API還是其他人的? – wintheday 2014-10-09 18:00:16
僅供參考:如果['allow_url_fopen'爲'0'](http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen),這將不起作用。 – zamnuts 2014-10-09 18:12:44
聽起來你將會寫作一些套接字代碼。你會想參考http://php.net/manual/en/book.sockets.php。
您可以使用file_get_contents()
或套接字。
- 1. 從cURL轉換爲直接HTTP請求
- 2. 如何發佈http請求而不是使用cURL?
- 3. 如何從PHP + cURL記錄傳出的http請求?
- 4. 如何在Node.js中使用支持javascript發出HTTP請求?
- 5. 如何從SSIS發出HTTP請求?
- 6. 如何從TypeScript發出HTTP請求
- 7. 支持http連接,而Django處理一個大的請求(20mins +)
- 8. xml php curl請求不受支持的媒體類型
- 9. HTTP/2請求,但推不支持
- 10. Google BigQuery API不支持http post請求
- 11. 如何用PHP curl發送GET請求
- 12. 如何從CURL php中的HTTP請求頭獲取Cookie內容?
- 13. 直接從http請求寫入jpg
- 14. curl - 從鏈接發送文件請求
- 15. 如何發送curl請求
- 16. $ http get返回找不到,而直接請求效果不錯
- 17. 如何打印soap請求(請求使用php curl發送)?
- 18. 我可以向客戶指出支持SPNEGO但NTLM不支持HTTP請求嗎?
- 19. 從URL發送cURL請求?
- 20. 用PHP和cURL複製HTTP請求
- 21. 使用PHP CURL的http請求
- 22. 如何在Python中發送HTTP標頭請求而不是HTTP
- 23. 無法發送curl的HTTP/2請求
- 24. HTTP請求失敗! HTTP/1.1 505 HTTP版本不支持錯誤
- 25. 如何解決 - 請求的資源不支持http方法'POST'
- 26. 使用PHP發出HTTP/2請求
- 27. 如何從PHP發送不完整的HTTP請求?
- 28. 如何用curl做keepalive http請求?
- 29. 將curl請求轉換爲http請求?
- 30. 轉換CURL請求HTTP請求的Java
如果請求是GET請求,你可以嘗試['file_get_contents()'](http://php.net/manual/en/function.file-get-contents.php)。我不知道如何通過'POST'請求來使用它。返回的數據將是一個字符串,您需要根據API返回類型將其解析爲JSON或其他可用的形式。 – War10ck 2014-10-09 17:40:05
@ War10ck'fgc()'與帖子請求一起工作就好了 – PeeHaa 2014-10-09 17:42:42
@ War10ck我也需要POST請求... – bodacydo 2014-10-09 17:43:04