怎样抓取网页数据(登录或注册用户后如何从Web获取Cookie?(图) )

优采云 发布时间: 2021-11-08 03:13

  怎样抓取网页数据(登录或注册用户后如何从Web获取Cookie?(图)

)

  xwpedram

  我在unity3d和我的网站页面有注册和登录页面,当我将注册或登录数据从unity3d发布到我的网站 (magento cms) ,发送到我自己的错误“无法回滚必要的数据”,在HttpAnalyzer应用程序中看到我的请求后,我发现unity3d无法接受获取cookie字符串。登录或注册用户后如何从Web获取cookies?我的 unity3d 代码:

   var form = new WWWForm();

form.AddField( "SN", SystemInfo.deviceUniqueIdentifier.ToString());

form.AddField( "UserName ", UserName );

form.AddField( "year",Year );

form.AddField( "month", Month );

form.AddField( "day", Day );

form.AddField( "dob",Year+"/"+Month+"/"+Day );

form.AddField( "gender", Gender );

form.AddField( "password", Pass );

// Create a download object

var download = new WWW(URL, form);

// Wait until the download is done

yield download;

// show the Results

Debug.Log(download.text);

if(download.error != null)

{

Debug.Log("Err :"+download.error);

Flag = "1";

}

  2斤

  当您尝试加载的页面被重定向时,通常会出现“必要的数据回滚”情况。我认为您不能使用“跟随重定向”选项在 Unity 中发出请求。

  我不知道 Magentacms,所以我不能告诉你如何解决这个问题。关于cookies的问题,在Unity中这个很简单:你只需要从第一次调用中截取头“SET-COOKIE”,然后在下一次调用中发回标有“Cookie”的头:

  #pragma strict

import System.Collections.Generic;

var url:String = "";

var cookie:String = "";

/// interface

private var stringToEdit:String = "";

function OnGUI(){

if (url!="" && GUI.Button(Rect(10,10,200,30),"Click"))

StartCoroutine(LoadData());

stringToEdit = GUI.TextArea (Rect (10, 50, 600, 400), stringToEdit);

}

/// debug

function Debug(s:String){

stringToEdit += s+"\n";

}

function LoadData():IEnumerator{

Debug(url);

var form : WWWForm = new WWWForm();

var time:String = System.DateTime.Now.Ticks.ToString();

form.AddField("time", time);

// construct your header calls

var headers : Hashtable = form.headers;

if(cookie!="")

headers["Cookie"] = cookie;

var www : WWW = new WWW(url, form.data, headers);

yield www;

if(!www.error){

Debug(www.text);

// get the cookie and keep it

if(www.responseHeaders.ContainsKey('SET-COOKIE')){

var data:String[] = www.responseHeaders['SET-COOKIE'].Split(";"[0]);

if(data.length>0){

cookie = data[0];

}

}

}else

Debug(www.error);

// debug

for(var header:KeyValuePair. in www.responseHeaders)

Debug(header.Key+" "+header.Value);

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线