永发信息网

如何获取HTTP 302重定向的header信息

答案:2  悬赏:10  手机版
解决时间 2021-12-25 12:11
  • 提问者网友:沉默菋噵
  • 2021-12-25 09:19
如何获取HTTP 302重定向的header信息
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-12-25 10:41
翻到以前有人发帖问过类似问题,有人回答或NULL, // proxy name. NULL indicates use default.
使用异步的请求就可以了
m_session = ::InternetOpen (agent_name,
INTERNET_OPEN_TYPE_PRECONFIG, // use registry settings.
只要HttpQueryInfo(...,HTTP_QUERY_LOCATION,...)就行了
NULL, // list of local servers. NULL indicates default.
INTERNET_FLAG_ASYNC) ;
但以上两种方法都试过,无效,求教。
如果只是想获取到被重定向到哪去,而不需要访问被重定向后的页
那么就在调用HttpOpenRequest时,dwFlags参数加上INTERNET_FLAG_NO_AUTO_REDIRECT
然后用HttpQueryInfo去获取信息
如果又要知道重定向去哪,又要访问最终目标页,那就要在CallBack里获取了
当InternetStatusCallback的dwInternetStatus为INTERNET_STATUS_REDIRECT,就是重定向
全部回答
  • 1楼网友:三千妖杀
  • 2021-12-25 12:12
翻到以前有人发帖问过类似问题,有人回答或null, // proxy name. null indicates use default. 使用异步的请求就可以了 m_session = ::internetopen (agent_name, internet_open_type_preconfig, // use registry settings. 只要httpqueryinfo(...,http_query_location,...)就行了 null, // list of local servers. null indicates default. internet_flag_async) ; 但以上两种方法都试过,无效,求教。 如果只是想获取到被重定向到哪去,而不需要访问被重定向后的页 那么就在调用httpopenrequest时,dwflags参数加上internet_flag_no_auto_redirect 然后用httpqueryinfo去获取信息 如果又要知道重定向去哪,又要访问最终目标页,那就要在callback里获取了 当internetstatuscallback的dwinternetstatus为internet_status_redirect,就是重定向 是第二种情况用httpsendrequest 发送http包时,如遇到网站响应是http302,不能获取到302头信息和location地址,只能获取到重定向后的结果200和重写向后的网页内容。 问题就是callback中得到的 dwinternetstatus 的值不是internet_status_redirect 使用location标签,就可以取得 提出这个问题,就是因为从location 这里取不到,location 也是从httpqueryinfo去获取的返回信息里提取的值,现在是返回信息里没有。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯