這隻程式同樣會去讀 signal.txt 這個檔案…並對內容作檢查…如果倉位有發生變化…會將目前倉位和目前價位用簡訊傳出…
這是日上所需要的 txt 格式
0,1080620,134500,1,0,7778,1
基本上很簡單的一直檢查目前倉位是不是有產生變化…有變化就發簡訊…
有需要的…程式碼如下…使用 java 編寫…另外這個東西絕絕對對需要自行修改…小弟我不負責客制化的業務…= =
import java.net.*;
import java.io.*;
import java.lang.*;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class TwSMSJavaAPI
{
public static void main(String args[]) throws IOException
{
String phNumber[]={"", ""}; //手機號碼
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat fmt = new SimpleDateFormat("HHmm");
String sysDatatime = fmt.format(rightNow.getTime());
String signalold = "0";
while(Integer.valueOf(sysDatatime).intValue() > 840 && Integer.valueOf(sysDatatime).intValue() < 1350)
{
BufferedReader br = new BufferedReader(new FileReader("D:/signal.txt")); //檔案路徑、名稱
String temp;
String[] signal;
temp = br.readLine();
signal = temp.split(",");
if (Integer.valueOf(sysDatatime).intValue() < 844)
{
signalold = signal[3];
}
if (Integer.valueOf(sysDatatime).intValue() > 844 && !(signalold.equals(signal[3])))
{
for (int i = 0; i < phNumber.length; i++)
{
sms(phNumber[i], signal[3], signal[5]);
}
signalold = signal[3];
}
try
{
Thread.sleep(1000);
}catch (InterruptedException e)
{
}
}
}
public static int sms(String phNumber, String position, String price)
{
try
{
// 設定變數
Socket socket;
String len;
InputStream Is;
OutputStream Os;
DataInputStream DIS;
PrintStream PS;
String msg = "";
String MSGData = "";
String GetData = "";
String MsgID = "";
// 設定參數
String username = ""; // 帳號
String password = ""; // 密碼
String type = "now"; // 發送型態
String mobile = phNumber; // 電話
String message = "目前倉位:" + position + ", 目前價位:" + price; // 簡訊內容
//String message = new String("簡訊測試".getBytes(),"big5");
String encoding = "big5"; // 簡訊內容編碼
String popup = ""; // 使用 POPUP 顯示
String mo = ""; // 使用雙向簡訊
String vldtime = ""; // 簡訊有效期限
String dlvtime = ""; // 預約時間
int Num = 0;
msg = "username="+username+"&password="+password+"&type="+type+"&encoding="+encoding+"&popup="+popup+"&mo="+mo+"&mobile="+mobile+"&message="+message+"&vldtime="+vldtime+"&dlvtime="+dlvtime;
Num = msg.length();
MSGData = MSGData+"POST /send_sms.php HTTP/1.1\r\n";
MSGData = MSGData+"Host: api.twsms.com\r\n";
MSGData = MSGData+"Content-Length: "+Num+"\r\n";
MSGData = MSGData+"Content-Type: application/x-www-form-urlencoded\r\n";
MSGData = MSGData+"Connection: Close\r\n\r\n";
MSGData = MSGData+msg+"\r\n";
// 開始送簡訊資料
socket=new Socket("api.twsms.com",80);
//獲得對應 socket 的輸入/輸出流
Is=socket.getInputStream();
Os=socket.getOutputStream();
//建立數據流
DIS=new DataInputStream(Is);
PS=new PrintStream(Os);
PS.println(MSGData);
int i=1;
while(true){
GetData = DIS.readLine();
if (i == 10)
{
MsgID = GetData;
}
if (GetData == null)break;
i++;
}
//關閉連接
DIS.close(); //關閉數據輸入流
PS.close(); //關閉數據輸出流
Is.close(); //關閉輸入流
Os.close(); //關閉輸出流
socket.close(); //關閉 socket
// 結果輸出
System.out.println("回傳碼:" + MsgID);
}
catch(Exception e){
System.out.println("無法連接 TwSMS API Server!");
}
return 0;
}
}
我想用VB2008來寫一個可以發簡訊的程式(台灣簡訊)
回覆刪除請問我應該要怎麼寫?
台灣簡訊有 api 可以使用…直接呼叫即可…
刪除