{"id":26062995,"url":"https://github.com/androidappfactory/android-httpurlconnection","last_synced_at":"2025-04-11T11:13:37.011Z","repository":{"id":78951456,"uuid":"77509488","full_name":"AndroidAppFactory/Android-HttpURLConnection","owner":"AndroidAppFactory","description":"一款封装HttpURLConnection实现的简单的网络请求的事例","archived":false,"fork":false,"pushed_at":"2023-04-28T07:14:00.000Z","size":2283,"stargazers_count":25,"open_issues_count":1,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T07:36:14.316Z","etag":null,"topics":["android-httpurlconnection","httpurlconnection"],"latest_commit_sha":null,"homepage":"http://blog.bihe0832.com/Android-HttpURLConnection.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndroidAppFactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-12-28T06:36:49.000Z","updated_at":"2024-12-01T13:04:44.000Z","dependencies_parsed_at":"2023-08-19T10:21:35.598Z","dependency_job_id":"8e91a546-47f7-471b-b57c-2046849b198d","html_url":"https://github.com/AndroidAppFactory/Android-HttpURLConnection","commit_stats":null,"previous_names":["androidappfactory/android-httpurlconnection"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroid-HttpURLConnection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroid-HttpURLConnection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroid-HttpURLConnection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroid-HttpURLConnection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndroidAppFactory","download_url":"https://codeload.github.com/AndroidAppFactory/Android-HttpURLConnection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248381790,"owners_count":21094528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-httpurlconnection","httpurlconnection"],"created_at":"2025-03-08T16:01:27.196Z","updated_at":"2025-04-11T11:13:36.990Z","avatar_url":"https://github.com/AndroidAppFactory.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android-HttpURLConnection\n\n## 说明\n\n### **lib-http 后续不再单独在此维护，统一合并到AndroidAppFactory 中继续维护，对应Git地址为：**\n\n**AndroidAppFactory：[https://github.com/bihe0832/AndroidAppFactory](https://github.com/bihe0832/AndroidAppFactory)**\n\n**对应组件库为：LibHttpCommon \u0026 LibHttpAdvanced**\n\n**调用事例参考：https://github.com/bihe0832/AndroidAppFactory/tree/master/BaseDebug/src/main/java/com/bihe0832/android/base/debug/request**\n\n## 简介\n\n一款封装HttpURLConnection实现的简单的网络请求的事例，提供了对应的apk和源码以及调用事例。\n\n## 使用方法\n\n### 添加依赖\n\n在根目录添加发布插件的相关依赖\n\n    buildscript {  \n        repositories {  \n            jcenter()  \n        }  \n    }   \n\n    allprojects {  \n        repositories {  \n            jcenter()  \n        }  \n    }\n    \n### import\n\n\tdependencies {\n\t    api 'com.bihe0832.android:lib-http-advanced:1.3.0'\n\t}\n\n或\n\n\tdependencies {\n\t    api 'com.bihe0832.android:lib-wrapper:1.0.3'\n\t}\n\t\t\n\n### 调用\n\n- 请求封装\n\n\t\tpublic class BasicGetRequest extends HttpRequest {\n\t\t\n\t\t    private String mPara = \"\";\n\t\t\n\t\t\tprivate HttpResponseHandler mResponseHandlerHandler;\n\t\t\n\t\t\tpublic BasicGetRequest(String para, HttpResponseHandler handler) {\n\t\t        this.mPara = para;\n\t\t        this.mResponseHandlerHandler = handler;\n\t\t    }\n\t\t\n\t\t\t@Override\n\t\t\tpublic String getUrl() {\n\t\t        StringBuilder builder = new StringBuilder();\n\t\t        builder.append(Constants.PARA_PARA + HTTP_REQ_ENTITY_MERGE + mPara);\n\t\t        return getBaseUrl()+\"?\"+builder.toString();\n\t\t\t}\n\t\t\n\t\t\tprivate String getBaseUrl(){\n\t\t        return Constants.HTTP_DOMAIN + Constants.PATH_GET;\n\t\t    }\n\t\t\n\t\t    @Override\n\t\t    protected void onResponse(int statusCode, String result) {\n\t\t        this.mResponseHandlerHandler.onResponse(statusCode,result);\n\t\t    }\n\t\t}\n\t\n- 回调处理\n\n\t\tprivate inner class TestBasicResponseHandler : HttpResponseHandler {\n\t\n\t\t    override fun onResponse(statusCode: Int, response: String) {\n\t\t        showResult(\"HTTP状态码：\\n\\t\" + statusCode + \" \\n \" +\n\t\t                \"网络请求内容：\\n\\t\" + response)\n\t\t    }\n\t\t}\t\n\t\t\n\t\tprivate fun showResult(tips: String) {\n\t\t    runOnUiThread { result.text = tips }\n\t\t}\n\t\n- 具体调用\n\n\n\t\tvar result = paraEditText.text?.toString()\n\t\tif (result?.length?:0 \u003e 0) {\n\t\t\tval handle = TestBasicResponseHandler()\n\t\t\tval request = BasicGetRequest(result, handle)\n\t\t\tHTTPServer.getInstance().doRequest(request)\n\t\t} else {\n\t\t\tshowResult(\"请在输入框输入请求内容！\")\n\t\t}\n\t\t\n## 源码运行方法\n\n如何修改配置及运行工程，请参考本人博客：[终端基于gradle的开源项目运行环境配置指引](\nhttp://blog.bihe0832.com/android-as-gradle-config.html)\n\n### 项目区别\n\nhttp-advanced和http-common的异同主要表现在\n\n- 共同点\n\n\t- 两个项目的网络请求都是基于HTTPURLConnection封装的\n\t\n\t- 两个项目都支持通过url是以http开头还是https来选择发起HTTP还是HTTPS请求\n\t\n\t- 通过网络请求是否包含data内容来区分get或者post\n\t\n\t- 支持带cookie的网络请求\n\t\n\t- 所有网络请求单线程分发，多线程处理\n\t\n- 差异点\n\n\t- Advanced会在库里面完成网络请求结果的解析，最终网络请求结果会被处理为一个json数据，Basic层没有做任何处理，将网络请求的内容以String返回\n\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroid-httpurlconnection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidappfactory%2Fandroid-httpurlconnection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroid-httpurlconnection/lists"}