2016-07-14 3 views
0

나는 Steam API를 사용하여 거래 제안 취소를 시도합니다. 다음 : https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#CancelTradeOffer_.28v1.29HTTP POST 요청 보내기 PHP

나는 HTTP Post 요청으로 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