【问题标题】:How to submit a HTTP POST request to a URL using PHP? [duplicate]如何使用 PHP 向 URL 提交 HTTP POST 请求? [复制]
【发布时间】:2014-12-19 12:28:31
【问题描述】:

我有一些数据想作为 HTTP POST 请求发送到特定的 URL。我已经搜索并阅读了几个小时,但我一直坚持编写实际代码。

我可以创建我需要的完整 URL,如果我回显下面的 sms_url 变量并手动将其粘贴到浏览器地址栏中,则短信发送成功。我的问题是如何让 PHP 在单击按钮后自动执行此操作?

    <?php
    $customer = '4512121212';
    //Create variable $sms_url to send sms to customer
    // The neccesary variables
    $sms_message = ("this is a test");
    $sms_url = "http://www.theurl.com/sms/";
    $sms_url .= "?message=" . urlencode($sms_message); //messages
    $sms_url .= "&recipient=$customer"; // Recipient
    $sms_url .= "&username=x"; // Username
    $sms_url .= "&password=x"; // Password
    $sms_url .= "&from=" . urlencode("company name"); // Sendername
    $sms_url .= "&utf8=1"; //UTF8 encoded
    echo $sms_url. "<br>";

now what??
    ?>

更新和编辑

我用 curl 测试过,但它不起作用?

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $sms_url);
$content = curl_exec($ch);
var_dump($content);
?>

有什么可能出错的建议吗?

更新并解决

以下代码有效。

$curl = curl_init($sms_url);
$errmsg  = curl_error( $curl );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
curl_close ($curl);  
?>

【问题讨论】:

  • 无法相信这个问题仍然被标记为重复,原因显然是无效的。这里的问题与链接的问题无关。
  • ... northkildonan 我同意你的看法,也许@quentin 可以回答这个问题?
  • 好吧,看来@Quentin 不在乎。

标签: php http-post httprequest sms-gateway


【解决方案1】:

更新: 执行 GET 请求而不是 POST 请求(根据您的问题,我可以假设 GET 请求肯定有效)您可以这样做而无需重定向用户:

http_get($sms_url);

如果您仍在寻找帖子请求,您可以查看http_post_data()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2015-06-01
    • 2011-09-10
    • 1970-01-01
    • 2014-07-17
    相关资源
    最近更新 更多