如何用php获取http://c.b1za.com/h.2SXXls?cv=nXP87fAkEx&sm=0d941d的最后网址?
迷茫
迷茫 2017-04-11 09:47:04
0
3
654

1、如何用php获取http://c.b1za.com/h.2SXXls?cv=nXP87fAkEx&sm=0d941d的最后网址?
最后地址为:https://detail.tmall.com/item.htm?id=37424802695(这个地址是在浏览器中复制的,现在需要用php代码实现)。
2、自己尝试代码如下:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_NOBODY,1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$content=curl_exec($curl);
$headerStr=curl_getinfo($curl);
curl_close($curl);
print_r($headerStr);

返回的结果是:

Array ( [url] => http://c.b1za.com/h.2SXXls?cv=nXP87fAkEx&sm=0d941d [content_type] => text/html;charset=UTF-8 [http_code] => 200 [header_size] => 207 [request_size] => 81 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.219 [namelookup_time] => 0 [connect_time] => 0.11 [pretransfer_time] => 0.11 [size_upload] => 0 [size_download] => 2554 [speed_download] => 11662 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => 0 [starttransfer_time] => 0.219 [redirect_time] => 0 ) 

通过火狐抓包发现,location中的地址就是我所需要的地址,而结果中却没有location信息。
3、还请大神们帮帮忙,非常感谢!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(3)
伊谢尔伦

有一个替代的方法,就是把页面的内容获取到,里面有一个url的js变量,那个就是你要的值

黄舟

看了一下,目标js代码里有个url变量
你用正则匹配到那个url再去抓那个地址,里面含有location

大家讲道理
st=>start: http://c.b1za.com***
op=>operation: http://a.m.taobao.com***
e=>end: http://item.taobao.com***

st->op->e

有两次跳转,第一次是js,第二次是Location

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!