Php 如何从URL提取会话ID?

Php 如何从URL提取会话ID?,php,asp.net,perl,session,Php,Asp.net,Perl,Session,嗨,可以使用php从url获取嵌入式会话id吗 从根url中,网站将生成一个会话id,该id位于url之间,类似于此 i、 e 是否可以使用php/任何其他方法通过查询根url来检索“TS2K155XAAH50IWODSVJY35”,而不实际进入url 如果使用wget获取该页面,您将看到: ... HTTP request sent, awaiting response... 302 Found Location: http://www.sbstransit.com.sg/mobileiris

嗨,可以使用php从url获取嵌入式会话id吗

从根url中,网站将生成一个会话id,该id位于url之间,类似于此

i、 e


是否可以使用php/任何其他方法通过查询根url来检索“TS2K155XAAH50IWODSVJY35”,而不实际进入url

如果使用wget获取该页面,您将看到:

...
HTTP request sent, awaiting response... 302 Found
Location: http://www.sbstransit.com.sg/mobileiris/(xidluk550vzs5045l1cxkh55)/index.aspx [following]
这表示它正在对包含ID的URL执行302重定向

您可以编写Perl(或其他)代码来查找重定向的URL:

#!/usr/bin/perl
use warnings;
use strict;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->requests_redirectable([]); # don't follow any redirects

my $response = $ua->get('http://www.sbstransit.com.sg/mobileiris/');
my $loc = $response->header('Location');

print "redirected to=$loc\n";

因此,您可以使用
$tokens[2]

获取会话id,您所说的“不实际进入url”是什么意思?你想阻止的是,把自己变成一个电子,而你却不想在网上冲浪?( ;) )
<?php
    $url = 'http://www.sbstransit.com.sg/mobileiris/(ts2k1e55xaah50iwodsvjy35)/index.aspx';
    $url_arr = parse_url($url);
    print_r($url_arr);  // debug output
    $tokens = explode('/', $url_arr['path']);
    print_r($tokens);  // debug output
?>
Array
(
    [scheme] => http
    [host] => www.sbstransit.com.sg
    [path] => /mobileiris/(ts2k1e55xaah50iwodsvjy35)/index.aspx
)

Array
(
    [0] => 
    [1] => mobileiris
    [2] => (ts2k1e55xaah50iwodsvjy35)
    [3] => index.aspx
)