zoukankan      html  css  js  c++  java
  • webMagic 处理get请求

    例如URL:
    
    http://localhost:8080/javascritp/queryList/?params={"name":"aaa","limit":"45","sl":"show"} 
    
    应该是分成两个url来处理如:
    
    String url1 = "http://localhost:8080/javascritp/queryList/?params=";
    
    String url2 = URLEncoder.encode("{"name":"aaa","limit":"45","sl":"show"}","UTF-8");
    
    //请求URL
    
    
    public static String get(String url, Map<String, String> headers, String charset, Integer connTimeout,
    Integer readTimeout) throws ConnectTimeoutException, SocketTimeoutException, Exception {
    HttpClient client = null;
    HttpGet get = new HttpGet(url);
    String result = "";
    try {
    if (headers != null && !headers.isEmpty()) {
    for (Entry<String, String> entry : headers.entrySet()) {
    get.addHeader(entry.getKey(), entry.getValue());
    }
    }
    // 设置参数
    Builder customReqConf = RequestConfig.custom();
    if (connTimeout != null) {
    customReqConf.setConnectTimeout(connTimeout);
    }
    if (readTimeout != null) {
    customReqConf.setSocketTimeout(readTimeout);
    }
    get.setConfig(customReqConf.build());
    
    HttpResponse res = null;
    
    if (url.startsWith("https")) {
    // 执行 Https 请求.
    client = createSSLInsecureClient();
    res = client.execute(get);
    } else {
    // 执行 Http 请求.
    client = HttpClientUtils.client;
    res = client.execute(get);
    }
    
    result = IOUtils.toString(res.getEntity().getContent(), charset);
    } finally {
    get.releaseConnection();
    if (url.startsWith("https") && client != null && client instanceof CloseableHttpClient) {
    ((CloseableHttpClient) client).close();
    }
    }
    return result;
    }
    
    //WebMagic处理get请求
    
    Request request = new Request();
    request.setMethod(HttpConstant.Method.GET);
    request.setUrl(url1+url2);
    
    //启动爬虫
    Spider.create(new PageProcessor())
    .addPipeline(new Pipline())
    .addRequest(request)
    .run();
    
     
    
  • 相关阅读:
    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
    SpringCloud-技术专区-SSO单点登录之OAuth2.0登录认证云架构
    CAS实现单点登录原理
    CAS实现SSO单点登录原理
    使用Mmap系统调用进行硬件地址访问
    驱动阻塞模型
    Altium Designer如何批量修改名称,数值,封装
    驱动接口函数调用过程
    基本驱动模型
    从linux和ucos的比较中来看进程这个概念
  • 原文地址:https://www.cnblogs.com/joinlemon/p/9541863.html
Copyright © 2011-2022 走看看