Jadual Kandungan
file_get_contents 获取不了网页内容,filegetcontents
Rumah pembangunan bahagian belakang tutorial php file_get_contents 获取不了网页内容,filegetcontents_PHP教程

file_get_contents 获取不了网页内容,filegetcontents_PHP教程

Jul 12, 2016 am 08:59 AM
file get kandungan laman web dapatkan

file_get_contents 获取不了网页内容,filegetcontents

服务器在做验签的过程中,经常需要向渠道服务器获取某个用户的信息。一般有两种方法,curl和file_get_contents。

一般情况下,像这样用,不会有问题。

<span> 1</span> <span>public</span> <span>function</span> OauthPostExecuteNew(<span>$sign</span>,<span>$requestString</span>,<span>$request_serverUrl</span><span>){
</span><span> 2</span>     <span>$opt</span> = <span>array</span>("http"=><span>array</span><span>(
</span><span> 3</span>         "method"=>"GET",
<span> 4</span>         "header"=><span>array</span>("param:".<span>$requestString</span>,"oauthsignature:".<span>$sign</span>),
<span> 5</span>         "request_fulluri"=><span>true</span>
<span> 6</span> <span>        )
</span><span> 7</span> <span>    );
</span><span> 8</span> 
<span> 9</span>     <span>$context</span> = <span>stream_context_create</span>(<span>$opt</span><span>);
</span><span>10</span>     <span>$res</span>=<span>file_get_contents</span>(<span>$request_serverUrl</span>, <span>false</span>, <span>$context</span><span>);
</span><span>11</span> 
<span>12</span>     <span>return</span> <span>$res</span><span>;
</span><span>13</span> }
Salin selepas log masuk

但是由于我司服务器连外网时通过代理,所以在使用stream_context_create时需要带上proxy参数,才能访问到渠道的服务器。

所以在上面代码 $opt 数组中带上"proxy"=>$proxy字段。加上之后发现file_get_contents仍然不能正常验签。

百思不解,遂到官网上来查查file_get_contents,发现并没有关于proxy的解释,然后搜stream_context_create,官方解释有这句话

<p><code class="parameter">params</code></p>
<p class="para">必须是 <em>$arr['parameter'] = $value</em> 格式的关联数组。 请参考 context parameters 里的标准资源流参数列表。</p>
Salin selepas log masuk

那么 我们进入context_parameters 查看参数配置。因为我们使用的是HTTP方式,所以查看HTTP context

查看跟proxy相关的

<p class="para"><code class="parameter">proxy</code> <span class="type">string</span></p>
<p class="para">URI 指定的代理服务器的地址。(e.g. <em>tcp://proxy.example.com:5100</em>).</p>
<p class="para"><code class="parameter">request_fulluri</code> <span class="type">boolean</span></p>
<p class="para">当设置为 <code>TRUE</code> 时,在构建请求时将使用整个 URI 。(i.e. <em>GET http://www.example.com/path/to/file.html HTTP/1.0</em>)。 虽然这是一个非标准的请求格式,但某些代理服务器需要它。</p>
<p class="para">默认值是 <code>FALSE</code>.</p>
Salin selepas log masuk

 

发现只配置了proxy,而并没有配置request_fulluri,遂加上request_fulluri=true,验证通过。

 

 

注意:使用proxy参数时需要把http 改为tcp 具体什么原因,不知道。等我查到了再到这里更新。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1097795.htmlTechArticlefile_get_contents 获取不了网页内容,filegetcontents 服务器在做验签的过程中,经常需要向渠道服务器获取某个用户的信息。一般有两种方法,...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menghantar halaman web ke desktop sebagai pintasan dalam pelayar Edge? Bagaimana untuk menghantar halaman web ke desktop sebagai pintasan dalam pelayar Edge? Mar 14, 2024 pm 05:22 PM

Bagaimana untuk menghantar halaman web ke desktop sebagai pintasan dalam pelayar Edge?

Aplikasi asli Hongmeng puisi rawak Aplikasi asli Hongmeng puisi rawak Feb 19, 2024 pm 01:36 PM

Aplikasi asli Hongmeng puisi rawak

Kemungkinan sebab sambungan rangkaian adalah normal tetapi penyemak imbas tidak boleh mengakses halaman web Kemungkinan sebab sambungan rangkaian adalah normal tetapi penyemak imbas tidak boleh mengakses halaman web Feb 19, 2024 pm 03:45 PM

Kemungkinan sebab sambungan rangkaian adalah normal tetapi penyemak imbas tidak boleh mengakses halaman web

Bagaimana untuk menukar pelayar Microsoft Edge untuk dibuka dengan navigasi 360 - Bagaimana untuk menukar pembukaan dengan navigasi 360 Bagaimana untuk menukar pelayar Microsoft Edge untuk dibuka dengan navigasi 360 - Bagaimana untuk menukar pembukaan dengan navigasi 360 Mar 04, 2024 pm 01:50 PM

Bagaimana untuk menukar pelayar Microsoft Edge untuk dibuka dengan navigasi 360 - Bagaimana untuk menukar pembukaan dengan navigasi 360

Di mana untuk mendapatkan kod keselamatan Google Di mana untuk mendapatkan kod keselamatan Google Mar 30, 2024 am 11:11 AM

Di mana untuk mendapatkan kod keselamatan Google

Perkara yang perlu dilakukan jika halaman web tidak boleh dibuka Perkara yang perlu dilakukan jika halaman web tidak boleh dibuka Feb 21, 2024 am 10:24 AM

Perkara yang perlu dilakukan jika halaman web tidak boleh dibuka

Apakah yang perlu saya lakukan jika imej pada halaman web tidak boleh dimuatkan? 6 penyelesaian Apakah yang perlu saya lakukan jika imej pada halaman web tidak boleh dimuatkan? 6 penyelesaian Mar 15, 2024 am 10:30 AM

Apakah yang perlu saya lakukan jika imej pada halaman web tidak boleh dimuatkan? 6 penyelesaian

Bagaimana untuk membuka php pada halaman web Bagaimana untuk membuka php pada halaman web Mar 22, 2024 pm 03:20 PM

Bagaimana untuk membuka php pada halaman web

See all articles