文章标题

来源:互联网 发布:网络直播项目计划书 编辑:程序博客网 时间:2024/06/05 02:43

最近写了一段爬虫程序,在这个过程中遇到了一些小问题。这些问题看起来可能很简单,甚至很基础。但没办法,我原来是学通信的,对某些知识本来了解就不够。现在把这些问题总结一些,并给出相应的解答和解决方法。


  1. 为什么需要代理服务器?
    -保密,A访问C,代理:A通过B访问C;
    -桥梁,访问国内不让访问的外国网址,如翻墙;
    -加快访问速度,如:VPN加速器和CDN服务器的反向代理。

  2. 请求网页服务时,怎么样看返回的数据是否是JSON格式?
    -右键,查看“审查元素”中的Network;查看第一时间段的数据中是否包含了全部的文本数据,若包含了,就不是JSON格式,若不包含,看其他时间段返回的数据中是否有JSON格式的数据,若有,则是JSON格式。

  3. 前端的html,js,css干嘛用的?
    -html:实现静态网页的编程语言
    -js:脚本语言,可执行的程序;
    -css:页面整体框架
    其他的ajax…是以上三个的扩展或变形

  4. HTTP状态码表示什么?
    -是用以表示网页服务器HTTP响应状态的3位数字代码
    -常用:200 OK; 400 Bad Request 请求错误;404 没有找到

  5. httpClient报cookie rejected错误的解决方法(报错内容:Cookie rejected: "$Version=0; JSSearchModel=0; $Path=/; $Domain=zhaopin.com")
    -出错原因:httpclient请求默认需要传cookie的。之所以报这样的错,是因为访问的时候没有加Cookie。
    -解决方法:设置忽略cookie
    -httpClient3.0如下:client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
    -httpClient4.0如下:

public HttpClient getHttpClient(){            DefaultHttpClient httpClient = new DefaultHttpClient();            httpClient.getCookieSpecs().register("easy", csf);            httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "easy");                HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), 2000);                return httpClient;            }        // customer cookie policy, ignore cookie check         CookieSpecFactory csf = new CookieSpecFactory() {            public CookieSpec newInstance(HttpParams params) {            return new BrowserCompatSpec() {                   @Override                public void validate(Cookie cookie, CookieOrigin origin)                throws MalformedCookieException {                 // Oh, I am easy             }};}};
  1. 绝对路径和相对路径?
    -绝对路径:是从盘符开始的路径,形如,C:\windows\system32\cmd.exe
    -相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
    要描述上述路径,只需输入system32\cmd.exe。实际上,严格的相对路径写法应为.\system32\cmd.exe

  2. 导架包怎样在程序中访问架包的txt等文件?
    -利用方法getResourceAsStream(),它是一个标准方法,用来打开一个外部输入文件。文件的位置取决于类加载器Classload,而标准的类加载器从classpath开始搜索。代码如下:

//返回读取指定资源的输入流   resource是当前工程下的一个存放res.txt的packageInputStream is=this.getClass().getResourceAsStream("/resource/res.txt");   BufferedReader br=new BufferedReader(new InputStreamReader(is));  String s="";  while((s=br.readLine())!=null)      System.out.println(s);  
0 0
原创粉丝点击