如何使用 curl GET 而不是 POST

2022-08-30 23:09:25

我厌倦了使用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;

?>

据我所知,唯一明显的问题是被查询的服务器使用而不是.这种方法有替代方法吗?GETPOSTGET


答案 1
curl_setopt($ch, CURLOPT_POST, 0);

默认情况下,Curl 使用 GET。您正在将其设置为开机自检。如果需要,您可以覆盖它curl_setopt($ch, CURLOPT_HTTPGET, 1);


答案 2

使用 file_get_contents() 函数
file_get_contents


curl_setopt($ch, CURLOPT_HTTPGET, 1);


推荐