当前位置: 首页 > 面试题库 >

如何使用file_get_contents在PHP中发布数据?

杨慎之
2023-03-14
问题内容

我正在使用PHP的函数file_get_contents()来获取URL的内容,然后通过变量处理标头$http_response_header

现在的问题是某些URL需要将一些数据发布到URL(例如,登录页面)。

我怎么做?

我意识到使用stream_context我可以做到这一点,但我并不完全清楚。

谢谢。


问题答案:

使用发送HTTP
POST请求file_get_contents并不难,实际上:正如您所猜测的,必须使用$context参数。

在此页面的PHP手册中提供了一个示例:HTTP上下文选项
(引用)

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

基本上,您必须创建一个具有正确选项的流 (该页面上有完整列表) ,并将其用作第三个参数,file_get_contents仅此而已;-)

附带说明:一般来说,为了发送HTTP POST请求,我们倾向于使用curl,它提供了很多选项-但是流是PHP的优点之一,没人知道…太糟糕了。 。



 类似资料:
  • 问题内容: PHP手册上的示例显示了如何使用流上下文发送cookie。这是摘录: 您如何发送多个cookie?像#1或#2,还是什么? #1 #2 问题答案: #3

  • 输出为 所以,即使在我自己的服务器上,我也没有得到正确的数据,它是空数组。我想通过http://docs.shopify.com/api/customer#create使用json实现REST

  • 你能解释一下如何在改造2中使用hashmap发布数据吗?

  • 问题内容: 我正在尝试使用杂志api获取以下json内容。json的输出是这样的。我希望下面的json转换为php数组。 我的代码如下所示。 上面的代码返回一个空数组。:(如何将上述JSON转换为php对象数组。我很无奈。 谢谢哈恩 问题答案: 您提供的JSON示例无效。使用此JSON验证程序http://jsonlint.com/在线进行检查。您需要删除第59行上的多余逗号。 一个拥有有效jso

  • 问题内容: 我写了这样的PHP代码 但是,当我从中删除“ http://”时,出现以下警告: 警告:file_get_contents(www.google.com)[function.file-get-contents]:无法打开流: 我试过了,但是没有用。 问题答案: 步骤1:检查返回码: 步骤2:通过在调用 _file_get_contents()的_前面放置一个错误控制运算符(即)来抑制警

  • 我从API23改为22,因为他们说httpclient不可用。当我切换到API22时,我遇到了HttpClient、HttpPost和NameValuePair的问题。我找到了使用HttpURLConnectionHandler的解决方案。但是我不知道如何将它用于下面的方法。 有人好心帮我一把