Как использовать завиток GET вместо POST - программирование
Подтвердить что ты не робот

Как использовать завиток GET вместо POST

Я использую curl для печати возврата с URL-адреса. Код, который у меня до сих пор выглядит следующим образом:

<?php
    $street = $_GET['street'];
    $city = $_GET['city'];
    $state = $_GET['state'];
    $zip = $_GET['zip'];

    $url = 'http://eligibility.cert.sc.egov.usda.gov/eligibility/eligibilityservice';
    $query = 'eligibilityType=Property&requestString=<?xml version="1.0"?><Eligibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/var/lib/tomcat5/webapps/eligibility/Eligibilitywsdl.xsd"><PropertyRequest StreetAddress1="'.$street.'" StreetAddress2="" StreetAddress3="" City="'.$city.'" State="'.$state.'" County="" Zip="'.$zip.'" Program="RBS"></PropertyRequest></Eligibility>';
    $url_final = $url.''.$url_query;

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$query);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $return = curl_exec ($ch);
    curl_close ($ch);

    echo $return;

?>

Единственная очевидная проблема, которую я знаю о том, что запрашиваемый сервер использует GET вместо POST. Существуют ли альтернативы этому методу GET?

4b9b3361

Ответ 1

curl_setopt($ch, CURLOPT_POST, 0);

Curl использует GET по умолчанию. Вы настраивали его на POST. Вы можете переопределить его, если вам когда-нибудь понадобится curl_setopt($ch, CURLOPT_HTTPGET, 1);

Ответ 2

Использовать функцию file_get_contents()
file_get_contents

Или
curl_setopt($ch, CURLOPT_HTTPGET, 1);

Ответ 3

использовать

curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "http://yourlink.com",
CURLOPT_USERAGENT => 'Codular Sample cURL Request'));

Ответ 4

В URL-адресе отсутствует знак вопроса. Должно быть:

$query = '?eligibilityType=Property&...';

Кроме того, для этого XML в вашем URL требуется кодирование, например. используйте функцию urlencode() в PHP.