⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 curlmodule.java

📁 RESIN 3.2 最新源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      return BooleanValue.FALSE;    return LongValue.create(curl.getErrorCode());  }  /**   * Returns the error string from the last operation.   *   * @param env   * @param curl   */  public static Value curl_error(Env env,                              @NotNull CurlResource curl)  {    if (curl == null)      return BooleanValue.FALSE;    return env.createString(curl.getError());  }  /**   * @param env   * @param curl   */  public static Value curl_exec(Env env,                                @NotNull CurlResource curl)  {    if (curl == null)      return BooleanValue.FALSE;    return curl.execute(env);  }  /**   * Returns information about the last request.   *   * @param env   * @param curl   * @param option type of information to return   */  public static Value curl_getinfo(Env env,				   @NotNull CurlResource curl,				   @Optional Value option)  {//    if (option instanceof DefaultValue)//     return curl.getAllInfo();    if (curl == null)      return BooleanValue.FALSE;    return getInfo(env, curl, option.toInt());  }  private static Value getInfo(Env env,                              CurlResource curl,                              int option)  {    switch (option) {      case CURLINFO_EFFECTIVE_URL:        return env.createString(curl.getURL());      case CURLINFO_HTTP_CODE:        return LongValue.create(curl.getResponseCode());      case CURLINFO_FILETIME:        break;      case CURLINFO_TOTAL_TIME:        break;      case CURLINFO_NAMELOOKUP_TIME:        break;      case CURLINFO_CONNECT_TIME:        break;      case CURLINFO_PRETRANSFER_TIME:        break;      case CURLINFO_STARTTRANSFER_TIME:        break;      case CURLINFO_REDIRECT_TIME:        break;      case CURLINFO_SIZE_UPLOAD:        break;      case CURLINFO_SIZE_DOWNLOAD:        break;      case CURLINFO_SPEED_DOWNLOAD:        break;      case CURLINFO_SPEED_UPLOAD:        break;      case CURLINFO_HEADER_SIZE:        return LongValue.create(curl.getHeader().length());      case CURLINFO_HEADER_OUT:        return curl.getHeader();      case CURLINFO_REQUEST_SIZE:        break;      case CURLINFO_CONTENT_LENGTH_DOWNLOAD:        return LongValue.create(curl.getContentLength());      case CURLINFO_CONTENT_LENGTH_UPLOAD:        break;      case CURLINFO_CONTENT_TYPE:        String type = curl.getContentType();        if (type == null)          return NullValue.NULL;        return env.createString(type);      default:        env.warning(L.l("Unknown CURL getinfo option"));    }    return NullValue.NULL;  }  /**   * Returns a cURL handle.   *   * @param env   * @param url   */  public static CurlResource curl_init(Env env,                                       @Optional("") String url)  {    CurlResource curl = new CurlResource();    if (url != null && url.length() > 0) {      setURL(curl, url);      //curl.setURL(url);    }    return curl;  }  /**   * Sets the url and extracts username/password from url.   * Format: [protocol://]?[username:password@]?host   */  private static void setURL(CurlResource curl, String url)  {    int atSignIndex = url.indexOf('@');    if (atSignIndex < 0) {      curl.setURL(url);      return;    }    int j = url.indexOf("://");    String protocol;    if (j < 0) {      protocol = "http://";      j = 0;    }    else {      j += 3;      protocol = url.substring(0, j);    }    int colonIndex = url.indexOf(':', j);    if (colonIndex < 0)      return;    curl.setUsername(url.substring(j, colonIndex++));    curl.setPassword(url.substring(colonIndex, atSignIndex++));    curl.setURL(protocol + url.substring(atSignIndex));  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   * @param curl   */  public static LongValue curl_multi_add_handle(Env env,                              Value curls,                              Value curl)  {    throw new UnimplementedException("curl_multi_add_handle");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   */  public static LongValue curl_multi_close(Env env,                              Value curls)  {    throw new UnimplementedException("curl_multi_close");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   * @param stillRunning   */  public static LongValue curl_multi_exec(Env env,                              Value curls,                              @Reference Value stillRunning)  {    throw new UnimplementedException("curl_multi_exec");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curl   */  public static StringValue curl_multi_getcontent(Env env,                              Value curl)  {    throw new UnimplementedException("curl_multi_getcontent");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   */  public static ArrayValue curl_multi_info_read(Env env,                              Value curls)  {    throw new UnimplementedException("curl_multi_info_read");  }  /**   * XXX: not documented by PHP   *   * @param env   */  public static Value curl_multi_init(Env env)  {    throw new UnimplementedException("curl_multi_init");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   * @param curl   */  public static LongValue curl_multi_remove_handle(Env env,                              Value curls,                              Value curl)  {    throw new UnimplementedException("curl_multi_remove_handle");  }  /**   * XXX: not documented by PHP   *   * @param env   * @param curls   * @param timeout   */  public static LongValue curl_multi_select(Env env,                              Value curls,                              @Optional Value timeout)  {    throw new UnimplementedException("curl_multi_select");  }  /**   * Sets an array of options.   *   * @param env   * @param curl   * @param options   */  public static BooleanValue curl_setopt_array(Env env,                              @NotNull CurlResource curl,                              ArrayValue options)  {    if (curl == null)      return BooleanValue.FALSE;    for (Map.Entry<Value,Value> entry: options.entrySet()) {      if (setOption(env, curl, entry.getKey().toInt(), entry.getValue()))        return BooleanValue.FALSE;    }    return BooleanValue.TRUE;  }  /**   * Sets a cURL option.   *   * @param env   * @param curl   * @param option   * @param value   *   * @return true if successful   */  public static BooleanValue curl_setopt(Env env,                              @NotNull CurlResource curl,                              int option,                              Value value)  {    if (curl == null)      return BooleanValue.FALSE;    if (setOption(env, curl, option, value))      return BooleanValue.TRUE;    else      return BooleanValue.FALSE;  }  private static boolean setOption(Env env,                              CurlResource curl,                              int option,                              Value value)  {    int i;    switch (option) {      //      // booleans      //      case CURLOPT_AUTOREFERER:        //XXX        break;      case CURLOPT_COOKIESESSION:        curl.setCookie(null);        break;      case CURLOPT_FAILONERROR:        curl.setFailOnError(value.toBoolean());        break;      case CURLOPT_FOLLOWLOCATION:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -