Я пытаюсь подключиться к веб-сервису aС# rest по php, но когда я выполняю приведенный ниже код, эта ошибка произошла:
"Сообщение": "Запрошенный ресурс не поддерживает метод http" GET ".
Может ли кто-нибудь помочь мне в этой ошибке?
<?php
$url="https://example/login";
$username='user';
$password='pass';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD,$username':'$password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$out = curl_exec($ch);
print "error:" . curl_error($ch) . "<br />";
echo $out;
curl_close($ch);
?>
Большое вам спасибо, я изменил свой код, как показано ниже, но он не работает, потому что поставщик веб-услуг сказал мне, что мне нужно использовать метод post для входа в систему, также мне нужно отправить имя пользователя и пароль по заголовку. это мой код, но я не знаю, как отправить их по заголовку. (вывод веб-службы - json)
<?php
$url="https://example";
$data=["username" => "user","password" => "1234",];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_USERPWD,'$username'.':'.'$password');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$out = curl_exec($ch);
?>
По умолчанию curl
выполняет запрос через HTTP GET. Доступ к веб-сервису осуществляется через POST.
Посмотрите здесь, чтобы узнать, как создать запрос POST через curl.