感谢您的回复,中文引号是在写邮件时误加的,我试过curl命令也是可以的,但是使用Java代码,发送http请求却是不能正常删除,返回体没有报错。
这是我的java代码:
try (CloseableHttpClient httpclient = HttpClientBuilder.create().build()) {
   HttpPut httpPut = new 
HttpPut("http://127.0.0.1:8040/api/db/table1/_stream_load? 
<http://127.0.0.1:8040/api/db/table1/_stream_load?>");
   httpPut.setHeader("Authorization", "Basic " + "cm9vdDo=");
   httpPut.setHeader("Expect", "100-continue");
   httpPut.setHeader("columns", "id,name");
   httpPut.setHeader("merge_type", "MERGE");
   httpPut.setHeader("delete", "id<=>'1' and name<=>'上海'");
   httpPut.setHeader("column_separator", ",");
   httpPut.setEntity(new ByteArrayEntity("1,上海".getBytes()));
   CloseableHttpResponse httpResponse = httpclient.execute(httpPut);
   int status = httpResponse.getStatusLine().getStatusCode();
   HttpEntity entity = httpResponse.getEntity();
   System.out.println("status: " + status);
   System.out.println("entity: " +  (entity != null ? 
EntityUtils.toString(entity) : ""));
}

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.3</version>
</dependency>


> 2022年2月7日 下午7:03,陈明雨 <morning...@163.com> 写道:
> 
> I tested it with curl command and utf8 encoded data file.
> 
> 
> curl -v --location-trusted -u root: -H "column_separator:," -H "merge_type: 
> MERGE" -H "columns: k1,k2" -H "delete: k1=2 and k2<=>'上海'" -T 1.txt 
> http://127.0.0.1:8042/api/db1/tbl2/_stream_load
> 
> 
> It works fine.
> 
> 
> You problem may because you wrote a Chinese quota to wrap your data “中文”. 
> 
> 
> 
> 
> --
> 
> 此致!Best Regards
> 陈明雨 Mingyu Chen
> 
> Email:
> chenmin...@apache.org
> 
> 
> 
> 
> 
> 在 2022-02-07 15:32:01,"nan tu" <liu192048...@gmail.com> 写道:
>> Hi,如题所述:
>> 如下发送http请求批量导入数据,delete条件包含中文,已知http请求头不能识别中文,有什么方式可以处理这种情况吗?
>> ... columns: id, name" -H "merge_type: MERGE" -H "delete: id='1' AND name<=> 
>> ‘中文'
>> Thanks!

Reply via email to