【问题标题】:file_get_contents giving warningfile_get_contents 发出警告
【发布时间】:2018-05-06 16:56:12
【问题描述】:
    $url="http://www.smszone.in/sendsms.asp?page=".$page."&username=".$usrnm."&password=".$passw."&number=".$mobile."&message="."Hi ".$admi.' '.implode($msg)."  Is issued ..."."\n"."Regards";
    $homepage = file_get_contents($url);
    if($homepage)
    {
      echo "Message Send Compleated...";
    }
    else{
      echo "Something Went Wrong...";

警告:file_get_contents(http://www.smszone.in/sendsms.asp?page=SendSmsBulk&username=*******&password=****&num​​ber=**********&message=Hi Izza AMGR-8A:3/1-BCS-GR :2/1-CCL 发出...问候):未能打开流:HTTP 请求失败!第 40 行 F:\xampp\htdocs\loglib\logissue.php 中的 HTTP/1.1 400 错误请求 出了点问题...

这是我通过我的 php 代码运行它时遇到的错误。如果我复制生成的 url 并粘贴到任何浏览器中,它就可以工作....

注意:我使用的是 xampp

【问题讨论】:

  • 你试过file_get_contents(urlencode($url));吗?
  • ...或至少 url 编码所有值(特别是消息)。浏览器会自动为您进行 url 编码,PHP 不会,因此您需要手动进行。
  • &message='.urlencode($message)
  • 'file_get_contents(urlencode($url));'不工作
  • 不要对整个内容进行编码。对变量值进行编码。

标签: php http file-get-contents


【解决方案1】:

您可以使用http_build_query 函数来构建正确的查询字符串:

$query = [
  'page' => $page,
  'username' => $user,
  // ... 
];

$url = 'http://...?'.http_build_query($query);

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2012-05-03
    相关资源
    最近更新 更多