[英]Send HTTP Post Request PHP
I try use the Steam API for cancel a trade offer. 我尝试使用Steam API取消交易报价。 Following this: https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#CancelTradeOffer_.28v1.29 请遵循以下步骤: https : //developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#CancelTradeOffer_.28v1.29
I need pass the tradeofferid with an HTTP Post request. 我需要通过HTTP Post请求传递tradeofferid。 I make this but the tradeoffer don't cancel: 我做到了,但权衡并没有取消:
function RechazarOferta($tradeid)
{
$data = array('tradeofferid' => $tradeid);
$trade = array('tradeofferid' => $tradeid, 'language' => 'english');
$url = 'https://api.steampowered.com/IEconService/CancelTradeOffer/v1/?key=C9786993763535D16XXXXXXXXX&'.http_build_query($trade);
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
$return = curl_exec($c);
curl_close($c);
var_dump($return);
}
Any solution or better form to make an HTTP Post request? 有什么解决方案或更好的形式可以发出HTTP Post请求?
Curl is very ugly and old. 卷毛非常丑陋且老旧。 Try Guzzle 尝一口
$client = new GuzzleHttp\Client();
$res = $client->request('GET',
'https://api.steampowered.com/IEconService/CancelTradeOffer/v1',
['query' => [
'key' =>'C9786993763535D16XXXXXXXXX',
'tradeofferid' => $tradeid,
'language' => 'english']
]
);
echo $res->getStatusCode();
// "200"
I use this method for do that, please test: 我使用此方法进行此操作,请测试:
$url = 'https://yourweb.com';
$body = 'var1=1&var2=2';
$result = get_data($url, $body);
function get_data($url, $body)
{
//$userAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)';
$ch = curl_init();
$timeout = 7;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
//curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.