2016-11-10 10 views
1

Как бы я представить этот test.xml файл в PHP с помощью этой команды: CURLПреобразование терминала CURL в PHP CURL?

curl -X POST -k -d @test.xml -H "Content-Type: application/xml" --user username:password https://www.url.com 

Это не работает для меня:

$ch = curl_init(); 

//Get the response from cURL 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

//Set the Url 
curl_setopt($ch, CURLOPT_URL, 'https://username:[email protected]'); 

//Create a POST array with the file in it 
$postData = array(
'testData' => '@test.xml', 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 

// Execute the request 
$response = curl_exec($ch); 

Я также интересно, как я мог бы представить XML, написанный на вместо XML-файла.

+1

dont положить имя пользователя \ пароль в url –

+0

что это единственное, что неправильно в моем коде? и как бы я пропустил имя пользователя и пароль – Omar

ответ

1

Вы не должны указывать имя пользователя и пароль в URL-адресе. Вы можете использовать curl_setopt($p, CURLOPT_USERPWD, $username . ":" . $password); для $username и $password. Например, ниже:

$p = curl_init($url); 
curl_setopt($p, CURLOPT_HTTPHEADER, array('Content-Type: application/xml')); 
curl_setopt($p, CURLOPT_HEADER, 1); 
curl_setopt($p, CURLOPT_USERPWD, $username . ":" . $password); 
curl_setopt($p, CURLOPT_POSTFIELDS, $postData); 
curl_setopt($p, CURLOPT_POST, 1); 
curl_setopt($p, CURLOPT_RETURNTRANSFER, TRUE); 
$return = curl_exec($p); 
curl_close($p); 
+0

В вашем коде, как я могу подать XML-адрес? – Omar

Смежные вопросы