потреблять c # остальные веб-службы в php

1

Я пытаюсь подключиться к веб-сервису 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);
?>
Теги:
curl
rest

2 ответа

0

Большое вам спасибо, я изменил свой код, как показано ниже, но он не работает, потому что поставщик веб-услуг сказал мне, что мне нужно использовать метод 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);
?>
0

По умолчанию curl выполняет запрос через HTTP GET. Доступ к веб-сервису осуществляется через POST.

Посмотрите здесь, чтобы узнать, как создать запрос POST через curl.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню