2016-08-30 2 views
1

사례가 있습니다. 응답을 리디렉션하는 API 끝점에 데이터를 게시해야합니다. 예를 들어 여러 게시 매개 변수가있는 "xxx.com/api/v1/receive"를 누르면됩니다. , API 제공자가 제공 한 인증을 처리하는 페이지로 리다이렉트 한 후 다시 내 사이트로 리디렉션한다고 가정합니다. 내 코드에서리디렉션 응답이있는 API를 처리합니다.

내가 데이터

$data = ['key'=>'val'.etc...]; 
$post_data = http_build_query($data); 

// open connection 
$ch = curl_init(); 

// set option 
curl_setopt($ch,CURLOPT_URL,$this->dev_url); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data); 
curl_setopt($ch,CURLOPT_FRESH_CONNECT,true); 


// execute 
$result = curl_exec($ch); 

내가 사용

을 게시하려면이 같은 것을 구현하는 일반 형태의 HTML 양식을 사용하여 제출하고 일부 매개 변수를 할 그 가정하자 같은 리디렉션 물건의 실행을 게시,하지만 난 게시 할 때 위의 코드와 같은 데이터는 응답이 없습니다. 컬 (curl)을 사용하여 HTML 양식과 같은 응답 (리다이렉트 응답)을 얻을 수 있습니까?

+0

를 확인하실 수 있습니다, 스크립트가 예상대로 실행하지만, CURL을 사용하여 자기에 조치를 변경할 때 의도 한대로, 스크립트가 작동하지 않았다? –

+0

또한 CURLOPT_POST를 true로 설정해야합니다. –

+0

이 맞습니다. 그냥 CURLOPT_POST를 true로 설정했지만 여전히 응답이 없습니다. –

답변

0
$data = ['key'=>'val'.etc...]; 

$result = file_get_contents ("http://yoururl.com", false, stream_context_create (array (
        'http' => array (
          'method' => 'POST', 
          'content' => json_encode ($data) 
        )))); 

양식 조치가 엔드 포인트 때 당신은 그래서 var_dump($result);

+0

이 오류가 발생했습니다. "file_get_contents() : 응용 프로그램/x-www-form-urlencoded " –

관련 문제