2013-08-22 1 views
1

PHP CURL 요청에 다음 명령 줄 CURL을 구현하고 싶습니다.PHP CURL 요청에 명령 줄 CURL을 구현하는 방법

curl --data username=ekansh&domain=siteURL&password=mypass 
http://siteURL:8090/add-user -k -v -u apiuser:yru3472825fhj 

내가 같은에 대한 코드 아래 시도 :

$fields = array('domain'=> 'siteURL','password'=> 'mypass','apiuser'=> 
'yru3472825fhj','username'=> 'ekansh'); 
    $data=>array(CURLOPT_POST => 1,CURLOPT_HEADER => 0,CURLOPT_URL => 
$url,CURLOPT_FRESH_CONNECT => 1,CURLOPT_RETURNTRANSFER => 1,CURLOPT_FORBID_REUSE => 
1,CURLOPT_TIMEOUT => 4,CURLOPT_POSTFIELDS => http_build_query($_POST)); 
    $ch = curl_init(); 
    $options=$fields+$defaults; 
    curl_setopt_array($ch,$options); 
    $result=curl_exec($ch) 
    curl_close($ch); 

을하지만이 작동하지 않습니다 ... 난 $ 결과에 어떤 반응을 얻고 있지 않다. 어떻게 위 코드를 구현할 수 있습니까?

UPDATE

$fields = array('domain' => 'siteurl','password' => 'mypass', 
'apiuser'=> 'yru3472825fhj','username'=> 'ekansh'); 
    $data=array(CURLOPT_POST => 1,CURLOPT_HEADER => 0,CURLOPT_URL => 
    'siteurl',CURLOPT_FRESH_CONNECT => 1,CURLOPT_RETURNTRANSFER => 1, 
CURLOPT_FORBID_REUSE => 1,CURLOPT_TIMEOUT => 4, 
CURLOPT_POSTFIELDS => $fields); 
    $ch = curl_init(); 
    curl_setopt_array($ch,$data); 
    $result=curl_exec($ch); 
    curl_close($ch); 

나는 위의 코드를 수정했지만 여전히 작동하지 않습니다.

CURLOPT_POSTFIELDS => $fields 

그리고 그것이 있어야 모든 옵션을 설정하려면 다음 $data 배열에서

+0

몇 가지. 1)'+'는 배열에서 작동하지 않는 것 같습니다; 2) 실수로 curl 옵션을'$ data' 대신'$ options'으로 설정할 수 있습니다. – Passerby

+0

@Passerby 위를 참조하십시오. 업데이트 – Ekansh

답변

1

, 그것은해야

curl_setopt_array($ch, $data); 
이 줄 아무것도하지 않는

:

$options = $fields + $defaults; 

배열에 +을 사용할 수없고 설정하지 마십시오. $defaults . $data에 이르렀 대신

CURLOPT_USERPWD => 'apiuser:yru3472825fhj' 

:

인증의 경우, 옵션을 사용해야합니다.

+0

위를 참조하십시오. @Barmar – Ekansh

+0

인증에 대한 추가 답변을 참조하십시오. – Barmar

관련 문제