-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
156fc77
commit 92118c2
Showing
6 changed files
with
112 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,19 @@ | ||
强烈建议大家到 github 相关页面提交问题,方便统一查询管理,具体页面地址: https://github.com/Wechat-Group/WxJava/issues | ||
强烈建议大家到 `github` 相关页面提交问题,方便统一查询管理,具体页面地址:https://github.com/Wechat-Group/WxJava/issues | ||
|
||
当然如果必须在这里提问,请务必按以下格式填写,谢谢配合~ | ||
|
||
# 问题标题(提问前,请确保阅读过项目首页说明以及wiki文档相关内容) | ||
# 提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,尤其是常见问题部分。完成内容后,请务必移除包括本句在内的无用内容,以免影响阅读,谢谢合作~ | ||
# 另外如果确认属于bug,而且已明确如何修复,请参考贡献指南直接提交PR,省的浪费时间在这里描述问题,非常感谢配合 | ||
|
||
### 简要描述 | ||
__明确描述下你所遇到的问题,(友情提示,如果确认属于bug,请参考贡献指南直接提交PR,省的花费时间在这里描述问题,非常感谢配合)__ | ||
|
||
__简单概括描述下你所遇到的问题。__ | ||
|
||
### 模块版本情况 | ||
* `WxJava` 模块名: | ||
* `WxJava` 版本号: | ||
|
||
* WxJava 模块名: | ||
* WxJava 版本号: | ||
|
||
|
||
### 期待结果 | ||
__尽量详细描述__ | ||
|
||
### 实际情况 | ||
__尽量详细描述__ | ||
|
||
### 重现步骤 | ||
1. | ||
2. | ||
3. | ||
|
||
### 详细描述 | ||
__尽量详细描述。请不要使用截图,尽量使用文字描述,代码直接贴上来,日志则请附在后面所示区域。__ | ||
|
||
### 日志 | ||
__将日志放在 [pastebin](https://paste.ubuntu.com/) 或者其他地方,并将url地址贴在这里__ | ||
__将日志放在 [`Pastebin`](https://paste.ubuntu.com/) 或者其他地方,并将其url地址贴在这里__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
...va/me/chanjar/weixin/mp/util/requestexecuter/ocr/OcrDiscernApacheHttpRequestExecutor.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package me.chanjar.weixin.mp.util.requestexecuter.ocr; | ||
|
||
import me.chanjar.weixin.common.error.WxError; | ||
import me.chanjar.weixin.common.error.WxErrorException; | ||
import me.chanjar.weixin.common.util.http.RequestHttp; | ||
import me.chanjar.weixin.common.util.http.apache.Utf8ResponseHandler; | ||
import org.apache.http.HttpEntity; | ||
import org.apache.http.HttpHost; | ||
import org.apache.http.client.config.RequestConfig; | ||
import org.apache.http.client.methods.CloseableHttpResponse; | ||
import org.apache.http.client.methods.HttpPost; | ||
import org.apache.http.entity.mime.HttpMultipartMode; | ||
import org.apache.http.entity.mime.MultipartEntityBuilder; | ||
import org.apache.http.impl.client.CloseableHttpClient; | ||
|
||
import java.io.File; | ||
import java.io.IOException; | ||
|
||
/** | ||
* @author : zhayueran | ||
* @Date: 2019/6/27 14:06 | ||
* @Description: | ||
*/ | ||
public class OcrDiscernApacheHttpRequestExecutor extends OcrDiscernRequestExecutor<CloseableHttpClient, HttpHost> { | ||
|
||
|
||
public OcrDiscernApacheHttpRequestExecutor(RequestHttp requestHttp) { | ||
super(requestHttp); | ||
} | ||
|
||
@Override | ||
public String execute(String uri, File file) throws WxErrorException, IOException { | ||
HttpPost httpPost = new HttpPost(uri); | ||
if (requestHttp.getRequestHttpProxy() != null) { | ||
RequestConfig config = RequestConfig.custom().setProxy(requestHttp.getRequestHttpProxy()).build(); | ||
httpPost.setConfig(config); | ||
} | ||
if (file != null) { | ||
HttpEntity entity = MultipartEntityBuilder | ||
.create() | ||
.addBinaryBody("file", file) | ||
.setMode(HttpMultipartMode.RFC6532) | ||
.build(); | ||
httpPost.setEntity(entity); | ||
} | ||
try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { | ||
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | ||
WxError error = WxError.fromJson(responseContent); | ||
if (error.getErrorCode() != 0) { | ||
throw new WxErrorException(error); | ||
} | ||
return responseContent; | ||
} finally { | ||
httpPost.releaseConnection(); | ||
} | ||
} | ||
} |
36 changes: 36 additions & 0 deletions
36
...rc/main/java/me/chanjar/weixin/mp/util/requestexecuter/ocr/OcrDiscernRequestExecutor.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package me.chanjar.weixin.mp.util.requestexecuter.ocr; | ||
|
||
import me.chanjar.weixin.common.error.WxErrorException; | ||
import me.chanjar.weixin.common.util.http.RequestExecutor; | ||
import me.chanjar.weixin.common.util.http.RequestHttp; | ||
import me.chanjar.weixin.common.util.http.ResponseHandler; | ||
|
||
import java.io.File; | ||
import java.io.IOException; | ||
|
||
/** | ||
* @author : zhayueran | ||
* @Date: 2019/6/27 15:06 | ||
* @Description: | ||
*/ | ||
public abstract class OcrDiscernRequestExecutor<H, P> implements RequestExecutor<String, File> { | ||
protected RequestHttp<H, P> requestHttp; | ||
|
||
public OcrDiscernRequestExecutor(RequestHttp requestHttp) { | ||
this.requestHttp = requestHttp; | ||
} | ||
|
||
@Override | ||
public void execute(String uri, File data, ResponseHandler<String> handler) throws WxErrorException, IOException { | ||
handler.handle(this.execute(uri, data)); | ||
} | ||
|
||
public static RequestExecutor<String, File> create(RequestHttp requestHttp) { | ||
switch (requestHttp.getRequestType()) { | ||
case APACHE_HTTP: | ||
return new OcrDiscernApacheHttpRequestExecutor(requestHttp); | ||
default: | ||
return null; | ||
} | ||
} | ||
} |