gpt4 book ai didi

java - 通过低端API发送短信

转载 作者:行者123 更新时间:2023-12-01 13:38:44 28 4
gpt4 key购买 nike

我有一个以下形式的消息构造函数方法:

public static String constructMsg(CustomerInfo customer) {
... snipped
String msg = String.format("Snipped code encapsulated by customer object");

return msg;
}

API 链接是:

http://xxx.xxx.xx.xx:8080/bulksms?username=xxxxxxx &password=xxxx &type=0 &dlr=1&destination=10digitno & source=xxxxxx& message=xxxxx

在我的主要方法中,我有:

List<CustomerInfo> customer = dao.getSmsDetails(userDate);

theLogger.info("Total No : " + customer.size() );

if (!customer.isEmpty()) {

for (CustomerInfo cust : customer) {
String message = constructMsg(cust);

// Add link and '?' and query string
// use URLConnection's connect method
}
}

所以我使用 URLConnection 的 connect 方法。该 API 没有任何文档。有什么方法可以检查响应吗?

我的另一个问题是,有人建议我使用 ThreadPoolExecutor。我将如何使用它在这里?

最佳答案

此方法使用 HTTPURLConnection 执行 GET 请求,以字符串形式返回响应。有很多方法可以做到这一点,这不是特别出色,但确实具有可读性。

public String getResponse(String url, int timeout) {
HttpURLConnection c;
try {
URL u = new URL(url);
c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("Content-length", "0");
c.setUseCaches(false);
c.setAllowUserInteraction(false);
c.setConnectTimeout(timeout);
c.setReadTimeout(timeout);
c.connect();
int status = c.getResponseCode();

switch (status) {
case 200:
case 201:
BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
br.close();
return sb.toString();
default:
return "HTTP CODE: "+status;
}

} catch (MalformedURLException ex) {
Logger.getLogger(DebugServer.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(DebugServer.class.getName()).log(Level.SEVERE, null, ex);
} finally{
if(c!=null) c.disconnect();
}
return null;
}

像这样调用这个方法:

getResponse("http://xxx.xxx.xx.xx:8080/bulksms?username=xxxxxxx&password=xxxx&type=0 &dlr=1&destination=10digitno&source=xxxxxx&message=xxxxx",2000);

我认为您的网址中不应该有空格。

关于java - 通过低端API发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030146/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com