我有一个变量中包含的数据(可以写成文件),但我希望使用PHP HttpRequest
将其发送到不同的服务器。
我想过使用addRawPostData
但我现在已弃用了,我宁愿不将文件写入客户端服务器然后尝试发送它。如果有人有任何想法让我知道。我还尝试在正常post
的字段中提交变量的原始数据,但它似乎已损坏。
我试图发送的文件是一个torrent文件,如果这有任何区别的话。
再次感谢
答案 0 :(得分:3)
您可以使用cURL这是HTTP POST的一个简单示例:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.site.com/url");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"key=value&key1=value1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
// Check response
if ($server_output == "OK") {
有一个使用this answer
中的cURL发布文件字符串的示例答案 1 :(得分:1)
使用HttpRequest发送文件:http://www.php.net/manual/en/httprequest.addpostfile.php
要添加原始发布数据,我们不会弃用http://www.php.net/manual/en/httprequest.addrawpostdata.php - HttpRequest::addRawPostData
,而不推荐使用HttpRequest::setRawPostData
。
但是,HttpRequest只是cURL的包装,在某些情况下,最好直接使用cURL
。
答案 2 :(得分:0)
使用setBody发送rawpost数据http://www.php.net/manual/en/httprequest.setbody.php