2016-07-14 17 views
0

私はSteam APIを使用してトレードオファーをキャンセルしようとします。これに続いて:https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#CancelTradeOffer_.28v1.29HTTP POSTリクエストを送信するPHP

HTTPofficeリクエストでtradeofferidを渡す必要があります。私はこれを作るが、tradeofferはキャンセルしない:

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); 
} 

任意の溶液またはより良いフォームをHTTP POSTリクエストを作るには?

答えて

2

カールは非常に醜く古いです。 行うために、私はこの方法を使用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" 
0

試してみてください、その下さいテスト:

$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; 
} 
+0

こんにちは、返信いただきありがとうございます。これは機能しません、彼らは私の機能、唯一の "応答"と同じ私を返します。 –

+0

こんにちは、httpsのサポートで回答を更新し、curl_setopt($ ch、CURLOPT_SSL_VERIFYPEER、false)で行をコピーしました。 – Santiago

関連する問題