精华内容
下载资源
问答
  • 今天小编就为大家分享一篇解决laravel5中auth用户登录其他页面获取不到登录信息的问题,具有很好参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • HtmlUnit 获取登录的页面信息失败

    千次阅读 2017-09-21 18:01:50
    HtmlUnit 获取登录信息

    最近在学习网络爬虫抓取数据, 运用HtmlUnit, 可以获取到动态加载后的数据。但是有些网站需要先登录,后获取登录后的数据就出现问题。

    public static void TianyaTestByHtmlUnit() {
     
            try {
                WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
     
                // The ScriptException is raised because you have a syntactical
                // error in your javascript.
                // Most browsers manage to interpret the JS even with some kind of
                // errors
                // but HtmlUnit is a bit inflexible in that sense.
                webClient.getOptions().setUseInsecureSSL(true);
                webClient.getOptions().setJavaScriptEnabled(true); 
                webClient.getOptions().setCssEnabled(false); 
                webClient.setAjaxController(new NicelyResynchronizingAjaxController());
                webClient.getOptions().setRedirectEnabled(true);
                webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
                webClient.getOptions().setThrowExceptionOnScriptError(false); 
                webClient.setJavaScriptTimeout(20000);
                webClient.waitForBackgroundJavaScript(10000);
                webClient.getOptions().setRedirectEnabled(true);
        webClient.getCookieManager().setCookiesEnabled(true);
     
                // get the url
                HtmlPage page = webClient.getPage("http://passport.tianya.cn/login.jsp");
                System.out.println("Orgin page data =" + page.asXml());


                 HtmlTextInput username = (HtmlTextInput) page.getElementById("userName");
                 username.type("lms_test_****");
                 HtmlPasswordInput password = (HtmlPasswordInput) page.getElementById("password");
                 password.click();
                 password.type("liu*****");
                 //HtmlAnchor submit =  page.getAnchorByName("loginBtn");
                 HtmlButton submit = (HtmlButton) page.getElementById("loginBtn");
                 webClient.waitForBackgroundJavaScript(4000);
                 HtmlPage nextPage =(HtmlPage) submit.click();
                 
                
                // Wait js load the data
                webClient.waitForBackgroundJavaScript(10000);
               
                Thread.sleep(20000);
                System.out.println("After click login button =" + nextPage.asXml());   
                 
                Set<Cookie> cookies = webClient.getCookieManager().getCookies();;   
                Map<String, String> responseCookies = new HashMap<String, String>();  
                for (Cookie c : cookies) {  
                    responseCookies.put(c.getName(), c.getValue());  
                    System.out.println("cookie name --" + c.getName()+" value:"+c.getValue());  
                }  
                  
                webClient.close(); 
            } catch (Exception e) {
     
                e.printStackTrace();
            }
        }
     

    nextPage.asXml() 获取的数据总是与登录前的数据差不多,求大神帮忙解决!

    展开全文
  • 1、首先一个简单需求:微信小程序登录后,获取用户的信息,跳转到主页面,点击个人中心时,页面显示用户个人信息。 2、文件夹目录 login文件夹主要存放有关登录的操作和页面: wxml页面代码: <!--...

    1、首先一个简单的需求:微信小程序登录后,获取用户的信息,跳转到主页面,点击个人中心时,页面显示用户的个人信息。

    2、文件夹目录

     login文件夹主要存放有关登录的操作和页面:

    wxml页面代码:

    <!--miniprogram/pages/login.wxml-->
    <view class="login-container">
      <view class="title">微信小程序App</view>
      <view class="login-box">
        <label>用户名</label>
        <input placeholder='账号/手机号/微信/QQ' name="username" value='1433223'></input>
        <label>密码</label>
        <input password='true' name="pwd" value='123456'></input>
        <button bindtap="login" class="login-btn" form-type='submit'>立即登录</button>
        <view class="three-line">------第三方登录------</view>
        <button class="login-btn" style="background-color:green">微信登录</button>
      </view>
    </view>
    

     wxss页面样式:

    /* pages/login/login.wxss */
    page{
      height: 100%;    /* 使用page的height可以使页面占全屏 */
      background-color: #fafafa;
     }
    .login-container{
      padding: 0 10%;
      height: 100%;
    }
    .title{
      font-size: large;
      text-align: center;
      padding-top: 10%;
      font-weight: bold;
    }
    .login-box{
      margin-top: 10%;
      padding: 10% 5%;
      background-color: white;
      border-radius: 10px;
      box-shadow: 0 4px 4px #888888;
    }
    .login-box>input{
      margin: 5% 0 8% 0;
      border-bottom: 1rpx solid lightgray;
    }
    .login-btn{
      width: 100%!important;
      background-color: #2f6afd;
      color: white;
      font-weight: normal;
    }
     
    .three-line{
      margin: 8% 0;
      text-align: center;
      font-size: 12px;
      color: gray;
    }
     

     login.js页面代码:

    Page({
      login: function(){
    
        //跳转到底部tabBar页面
    
        wx. switchTab({      
          url: '/pages/index/index'
        });
    
        //调用微信api接口,获取登录人信息
    
        wx.getUserInfo({
          success: function(res) {
            console.log(res);
    
            // 获取成功后,存储到storage
    
            wx.setStorage({
              data: res.userInfo,
              key: 'userInfo',
            })
          }
        })
      }
    }

    person页面的wxml代码:

    <!--pages/person/index.wxml-->
    <!--pages/personinfo/personinfo.wxml-->
    <view class="container">
     
     <view class="info-box">
       <view style="text-align: center;margin-bottom:10%;">
         <image class="avatar-img" src="{{avatarUrl}}" />
       </view>
     
       <text>昵称: {{nickName}}</text>
       <text>性别: {{gender}}</text>
       <text>国家: {{country}}</text>
       <text>省份: {{province}}</text>
     </view>
     </view>
    
    
    

    person中的js代码:

    // pages/person/index.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        nickName : "",
        avatarUrl : "",
        gender : "",
        province : "",
        city : "",
        country : ""
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
    
        //获取storage中存放的用户信息
    
        var userInfo = wx.getStorageSync('userInfo');
        var that = this;
        if(userInfo.gender ==0){
          userInfo.gender = '未定义'
        }else if(userInfo.gender ==1){
          userInfo.gender = '男'
        }else {
          userInfo.gender = '女'
        }
    
          //给data中数据赋值
    
        that.setData({   
          nickName : userInfo.nickName,
          avatarUrl:userInfo.avatarUrl,
          gender: userInfo.gender,
          province: userInfo.province,
          city: userInfo.city,
          country: userInfo.country
        }) 
      }
    })

    上图:登录界面:

    展开全文
  •  用ajax登录登录成功后不刷新页面,在页面怎样获取登录用户的信息,如:${sessionScope.member.loginName }  大家有什么好办法,麻烦分享  

     

     用ajax登录,登录成功后不刷新页面,在页面怎样获取登录用户的信息,如:${sessionScope.member.loginName } 
    大家有什么好办法,麻烦分享

     

    展开全文
  • HTML获取用户信息,jsp连接数据库,将值存入数据库,但是提交之后会跳转,我需要不是跳转到提交页面,而是登录成功后主页![图片说明](https://img-ask.csdn.net/upload/201608/16/1471335634_802212.png)
  • H5页面微信登录获取用户基本信息

    千次阅读 2020-04-08 10:30:16
    H5页面微信登录获取用户基本信息 1。首先在微信公众平台申请一个测试账号方便用于本地测试,微信公众平台 在测试号管理找到自己appID和appsecret。 2。修改体验接口权限表里网页账号,修改OAuth2.0网页授权里...

    H5页面微信登录获取用户基本信息

    1。首先在微信公众平台申请一个测试账号方便用于本地测试,微信公众平台
    在测试号管理找到自己的appID和appsecret。
    2。修改体验接口权限表里的网页账号,修改OAuth2.0网页授权里的回调域名(这里可以用natapp免费申请一个通道NATAPP)这个小软件可以把本地ip穿透为公网ip(本地ip为你项目的ip地址)。
    3。扫描测试号二维码关注测试公众号。
    4.在你的项目里新建一个html页面来获取微信回调里的code(通过code可获得open_id,access_token)

    var Appid = "你的appID";//
    	var code = getUrlParam("code");//获取回调页面里的code
    	console.log("code:"+code);
    	if (code == null || code === "") {
    		var fromurl = location.href;
    		var s = encodeURIComponent(fromurl);
    		var url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc5ec3f8eb94e9ae2&redirect_uri=' +
    			s +
    			'&response_type=code&scope=snsapi_userinfo&state=STATE%23wechat_redirect&connect_redirect=1#wechat_redirect';
    		location.href = url;	
    	}
    

    如果不想在前端使用刷新页面的方法可以访问后端接口的方式获取code

    //需要两个参数backUrl(重定向url),stateParam(可以通过上面前端方法里的链接地址查看参数信息)
    public static String getAuthCodeUrl(String backUrl, String stateParam){
    		StringBuffer getCodeUrl = new StringBuffer();
    		getCodeUrl.append("https://open.weixin.qq.com/connect/oauth2/authorize?");
    		getCodeUrl.append("appid="+appid);
    		String backUri = backUrl; //"http://www.evshare.com.cn/wap/phone/index/do/toIndex.jsp";
    		backUri = backUri.replaceAll(":","%3A");
    		backUri = backUri.replaceAll("/","%2F");
    
    		getCodeUrl.append("&redirect_uri="+backUri); //重定向url
    		getCodeUrl.append("&response_type=code&scope=snsapi_base");
    		getCodeUrl.append("&state="+stateParam); //扩展参数
    		getCodeUrl.append("#wechat_redirect");
    		return getCodeUrl.toString();
    	}
    

    5。通过以上步骤获取到code后访问后端接口获取open_id和access_token(可以百度一个微信javaUtils)

    private static final String appid="你自己刚刚申请的测试appid";
    private static final String secret="你自己刚刚申请的测试appsecret";
    private static final String AUTH_ACCESS_TOKEN = "https://api.weixin.qq.com/sns/oauth2/access_token?grant_type=authorization_code&code=";
    public static Map<String, String> getUserBasicData(String code){
    		Map<String, String> map = new HashMap<String, String>();
    		try {
    			String url = AUTH_ACCESS_TOKEN + code +"&appid="+appid+"&secret="+secret;
    			HttpClient client = new HttpClient();
    			GetMethod get = new GetMethod(url);
    			get.getParams().setContentCharset("UTF-8");
    			client.executeMethod(get);
    			String str = get.getResponseBodyAsString();
    			JSONObject obj = JSONObject.fromObject(str);
    			String openid = obj.get("openid")== null ? "" : (String)obj.get("openid");
    			String access_token = obj.get("access_token")== null ? "" : (String)obj.get("access_token");
    			map.put("open_id", openid);
    			map.put("access_token", access_token);
    		}catch (Exception e){
    			e.printStackTrace();
    		}
    		return map;
    	}
    

    这里标注一下 前端与后端的appid必须一致否则微信会返回一个错误代码提示
    6。如果上述步骤获取到openid(微信用户唯一标识)和access_token后再添加一个获取微信用户信息的方法(头像,昵称,地址等信息)

    private static final String USER_INFO_URL = "https://api.weixin.qq.com/sns/userinfo?access_token=";//获取微信用户信息
    public static JSONObject getWXUser(String openId, String appAccessToken){
    		JSONObject obj = null;
    		try {
    			String url = USER_INFO_URL + appAccessToken + "&openid=" + openId;
    			HttpClient client = new HttpClient();
    			GetMethod get = new GetMethod(url);
    			get.getParams().setContentCharset("UTF-8");
    			client.executeMethod(get);
    			String str = get.getResponseBodyAsString();
    			obj = JSONObject.fromObject(str);
    			System.out.println("obj:"+obj);
    		}catch (Exception e){
    			e.printStackTrace();
    		}
    		return obj;
    	}
    

    这样你就获取到了在微信内置的浏览器下微信登录用户的信息了。

    展开全文
  • httpClient自动登录获取登录的页面

    千次阅读 2016-12-10 16:09:54
    用HttpClient 4.X来实现获取登录的页面比较容易,不需要获取Cookie值,默认浏览器HttpClient对象会自动保存Cookie信息,只要是用一个HttpClient对象,在登录后,就可以获得想要的页面了。 我先用了Post方法,提交...
  • 最近项目里有一个是要模拟登录后,访问固定页面获取内容要求,一开始用JQ AJAX好像不支持跨域请求。后使用.net中HttpWebRequest对象来获取。一开始访问总是无法在第二个页面正常访问,好像没通过登录验证,用...
  • YII2中常用的页面跳转,以及获取用户信息和登录信息等信息总结 //当前域名 echo Yii::app()->request->hostInfo; //当前URL echo Yii::app()->request->getUrl(); //返回首页 echo Yii::app()->user->...
  • 看过不少相似问题,但大多只是需要获取当前登录用户用户名,这个只要在action里setAttrubibu()就可以了,但是我现在想将登录用户所有注册信息都存进session,比如性别、邮箱、手机号什么,但是在登录验证...
  • 登录成功! session.setAttribute("student",Student); Student student = (Stduent)session.getAttribute("student"); %> 学号:${sessionScope.student.getSname()}" /> 姓名:...
  • 当一个页面需要登录的时候,会跳转到登录页,登录成功以后返回上一页需要刷新取当前登录用户信息的。小白求教!
  • 课程设计项目名称: 页面登录显示与动态获取信息统计 团队成员: 张鹏辉 一、项目简介 1.1项目博客地址 https://blog.csdn.net/weixin_45989140/article/details/103450052 1.2 项目采用技术栈 Django框架 1.3项目...
  • 我们在做一些小玩意时,有可能须要登录某些站点获取信息,那么HttpClient就是你好帮手,废话不多说,进入实战。 一 登录的实际意义 在HTTP横行今天,我们每天都要登录一些站点,那么登录的意义是什么呢...
  • 但是,对于现在的网站,有些采用Local Storage来缓存当前加密的登录信息,这样的话,是无法通过cookie来操作的,所以我们需要得到缓存的已登录信息来实现绕过登录跳转到需要登录才能操作的页面。 废话不多说直接上...
  • 环境 1.pycharm 2.python3.7 参考代码如下: from urllib import request url = 'https://rm.qkmtech.com/projects/qkmp923/roadmap/' headers ={ 'user-Agent': 'Mozilla/5.0...对于cookie查看地址:
  • # 登录古诗文网,图片验证码识别,最终获取收藏页面信息 """ 1、打开登录页面:https://so.gushiwen.cn/user/login.aspx 2、输入用户名和密码 3、下载验证码图片到本地,然后提示人工输入(或机器先识别,如果...
  • 客户端请求数据时,Django内部会对请求头的信息进行处理,例如,request.get,request.post等信息,已经处理过数据可以直接进行调用,对于没有处理过数据,可以获取request.environ进行获取,request.environ...
  • 后台登录时保存用户信息给sessionInfo,html页面如何获取sessionInfo值,${sessionInfo.userInfo}这样不行
  • 比如我成功Post登录了百度,但是还想继续进行签到或者发帖操作。 我试了把3次Response返回Cookie都保存了在了一个CookieCollection,最后用带上这个CookieGet方法访问了http://zhidao.baidu.com/uhome 但...
  • 有两种方式,第一种是直接携带cookies请求页面,第二种是找接口发送Post请求,然后存储Cookies,那么Selenium是如何模拟登录的,同样是找到对应登陆页面,传入账户和密码等参数,登录之后获取Cookies,然后添加...
  • } } /** * appID指政务微信中我单位信息下边有个CorpId * appsecret指对应应用入口信息secret * ip指私有化部署政务微信内网或者外网IP * port指私有化部署政务微信内网或者外网端口 */ import org...
  • 1.Java代码获取 ContextHolder对象当中,提供了一系列静态方法 方法名 ...获取BDF2系统使用系统临时目录绝对路径,这里获取值由bdf2.systemTempDir属性决定,具体参见对bdf2.system
  • 安卓和IOS客户端在做一些节日、拉新等临时活动时需要内嵌一个HTML5页面(活动相关的逻辑都在该页面上),在开发HTML5页面的角度,则需要APP端提供用户的登录状态(包括token/用户ID等信息) 关键代码 window....
  • 迷糊新手,想要在登录action上储存当前信息(id,username),并在jsp中提取信息的完整代码。...以下是登录页面的主要代码 [img=https://img-bbs.csdn.net/upload/201704/02/1491144355_675359.png][/img]
  • (一)、Selenium1和Selenium2介绍 Selenium1.0是一个基于浏览器开源自动化测试工具,它中可以使用多种语言编程,在...由于其实由JavaScript实现,所以只要支持JavaScript浏览器都可以很好支持它。而Seleniu
  • 微信小程序——常用功能2:申请用户授权并获取用户基本信息为了更好用户体验,很多时候我们想要获取用户基本信息,从而实现将信息呈现到用户界面、给用户划分地域、给用户分类等功能。但是要想获取用户信息的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,439
精华内容 975
关键字:

获取页面的登录信息