首先封装一下volley 请求 public class CustomRequest extends StringRequest { private static final String TAG = CustomRequest.class.getSimpleName(); private String mBody; private Map<String, String> mHeaders = new HashMap<>(); public CustomRequest(int me…
使用volley进行网络请求:需先将volley包导入androidstudio中 File下的Project Structrue,点加号导包 volley网络请求步骤: 1. 创建请求队列       RequestQueue queue = Volley.newRequestQueue(this); 2.创建请求对象(3种) StringRequest request = new StringRequest(“请求方法”,“请求的网络地址”,“成功的网络回调”,“失败的网络回调”): Ima…
最近的一次volley整理出下一个.我以前没有再次遭遇了一些小问题,在该记录: 1.HttpUrlConnection DELETE 信息不能加入body问题:java.net.ProtocolException: DELETE does not support writing 这个能够算是一个系统级的bug,为什么这么说,请看这里,这个问题在java8中才得以解决.没办法直接过去,咱就绕过去.查看HttpUrlConnection,我们发现他是一个抽象类,因此能够试试能不能通过它的其它实现来达…
目录 selenium请求库 一.什么是selenium 二.环境搭建 三.使用selenium模块 1.使用chrome并设置为无GUI模式 2.使用chrome有GUI模式 3.显示等待与隐式等待 4.查找元素--find_element_by_* 5.xpath查找元素-- brower.find_element_by_id('tag_id') 6.清空输入框-- input_tag.clear() 7.frame切换-- brower.switch_to.frame('小页面的id')…
目录 requests请求库 爬虫:爬取.解析.存储 一.请求 二.响应 三.简单爬虫 四.requests高级用法 五.session方法(建议使用) 六.selenium模块 requests请求库 爬虫:爬取.解析.存储 一.请求 1.基本有用的参数 # 1.请求的url https://www.cnblogs.com/linagcheng/ # 2.请求的方法 post,get,header... # 3.请求头需要携带参数 Cookie User-Agent # 说明自己是浏览器 Re…
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.widget.ImageView; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError…
Retrofit是什么 Retrofit是一个类型安全的HTTP客户端,支持Android和Java.它是Square公司开源的项目,当前版本2.0. 在实际开发中,我们Retrofit配合OKHTTP来使用.我们使用OKHTTP当做传输层,使用Retrofit在OKHTTP之上,使用Java的接口描述我们的HTTP协议. 简单的说: 使用Retrofit转换HTTP 的API协议成一个java的Interface服务,我们直接使用java类会方便好多. Github: https://gith…
1.服务器后台使用Servlet开发,这里不再介绍. 2.网络开发不要忘记在配置文件中添加访问网络的权限 <uses-permission android:name="android.permission.INTERNET"/> 3.网络请求.处理不能在主线程中进行,一定要在子线程中进行.因为网络请求一般有1~3秒左右的延时,在主线程中进行造成主线程的停顿,对用户体验来说是致命的.(主线程应该只进行UI绘制,像网络请求.资源下载.各种耗时操作都应该放到子线程中). 4. p…
1.服务器后台使用Servlet开发,这里不再介绍. 2.测试机通过局域网链接到服务器上,可以参考我的博客:http://www.cnblogs.com/begin1949/p/4905192.html.(当初以为可以直接通过USB访问http://127.0.0.1:8080/). 3.网络开发不要忘记在配置文件中添加访问网络的权限 <uses-permission android:name="android.permission.INTERNET"/> 4.网络请求.处…
曾经使用模拟浏览器操作(selenium + webdriver)来写爬虫,但是稍微有点反爬的网站都会对selenium和webdriver进行识别,网站只需要在前端js添加一下判断脚本,很容易就可以判断出是真人访问还是webdriver.虽然也可以通过中间代理的方式进行js注入屏蔽webdriver检测,但是webdriver对浏览器的模拟操作(输入.点击等等)都会留下webdriver的标记,同样会被识别出来,要绕过这种检测,只有重新编译webdriver,麻烦自不必说,难度不是一般大. 作…