java
public static String webPost(String msg,String myurl){
String ret = "";
HttpURLConnection conn = null;
DataOutputStream dos = null;
DataInputStream dis = null;
try {
URL url = new URL(myurl);
conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
dos = new DataOutputStream(conn.getOutputStream());
dos.writeUTF(msg);
dos.flush();
int code = conn.getResponseCode();
System.out.println("code " + code);
if (code == HttpURLConnection.HTTP_OK){
dis = new DataInputStream(conn.getInputStream());
ret = dis.readUTF();
// System.out.println(ret);
}
// conn.disconnect();
}catch (Exception e) {
e.printStackTrace();
}finally{
if (dis != null)
{
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dos != null)
{
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (conn != null)
{
conn.disconnect();
}
}
return ret;
}
---------------------------------------------------------
c#
/// <summary>
/// 向指定URL使用POST方法发送数据的例程,本函数不进行错误处理
/// </summary>
/// <param name="strURL">URL字符串</param>
/// <param name="bytSend">要发送的二进制数据</param>
/// <param name="SendProgress">发送数据时的进度处理</param>
/// <param name="AcceptProgress">接受数据时的进度处理</param>
/// <returns>接受到的二进制数据</returns>
private static byte[] HttpPostData(
string strURL ,
byte[] bytSend )
{
// 发送数据
System.Net.HttpWebRequest myReq=(System.Net.HttpWebRequest)System.Net.WebRequest.Create(strURL);
myReq.Method = "POST" ;
System.IO.Stream myStream = myReq.GetRequestStream();
int iCount = 0 ;
int utflen = bytSend.Length;
byte a = (byte) ((utflen >> 8) & 0xFF);
byte b = (byte) ((utflen >> 0) & 0xFF);
byte[] bytSendUTF = new byte[utflen+2];
bytSendUTF[0] = a;
bytSendUTF[1] = b;
Array.Copy(bytSend,0,bytSendUTF,2,utflen);
while( iCount < bytSendUTF.Length )
{
if( iCount + 1024 > bytSendUTF.Length)
{
myStream.Write(bytSendUTF, iCount , bytSendUTF.Length - iCount );
iCount = bytSendUTF.Length ;
}
else
{
myStream.Write(bytSendUTF , iCount , 1024);
iCount += 1024;
}
}//while
myStream.Close();
// 接受数据
System.Net.HttpWebResponse myRes = null;
myRes = myReq.GetResponse() as System.Net.HttpWebResponse ;
myStream = myRes.GetResponseStream();
System.IO.MemoryStream myBuf = new System.IO.MemoryStream(1024);
byte[] bytBuf = new byte[1024];
int ContentLength = (int)myRes.ContentLength ;
int AcceptLength = 0 ;
while(true)
{
int iLen = myStream.Read(bytBuf,0,1024);
if(iLen ==0)
break;
myBuf.Write(bytBuf,0,iLen);
AcceptLength += iLen ;
if( AcceptLength > ContentLength )
ContentLength = AcceptLength ;
}//while
myStream.Close();
myRes.Close();
myReq.Abort();
byte[] bytReturn = myBuf.ToArray();
myBuf.Close();
return bytReturn;
}// public static byte[] HttpPostData()
}
public static String webPost(String msg,String myurl){
String ret = "";
HttpURLConnection conn = null;
DataOutputStream dos = null;
DataInputStream dis = null;
try {
URL url = new URL(myurl);
conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
dos = new DataOutputStream(conn.getOutputStream());
dos.writeUTF(msg);
dos.flush();
int code = conn.getResponseCode();
System.out.println("code " + code);
if (code == HttpURLConnection.HTTP_OK){
dis = new DataInputStream(conn.getInputStream());
ret = dis.readUTF();
// System.out.println(ret);
}
// conn.disconnect();
}catch (Exception e) {
e.printStackTrace();
}finally{
if (dis != null)
{
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dos != null)
{
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (conn != null)
{
conn.disconnect();
}
}
return ret;
}
---------------------------------------------------------
c#
/// <summary>
/// 向指定URL使用POST方法发送数据的例程,本函数不进行错误处理
/// </summary>
/// <param name="strURL">URL字符串</param>
/// <param name="bytSend">要发送的二进制数据</param>
/// <param name="SendProgress">发送数据时的进度处理</param>
/// <param name="AcceptProgress">接受数据时的进度处理</param>
/// <returns>接受到的二进制数据</returns>
private static byte[] HttpPostData(
string strURL ,
byte[] bytSend )
{
// 发送数据
System.Net.HttpWebRequest myReq=(System.Net.HttpWebRequest)System.Net.WebRequest.Create(strURL);
myReq.Method = "POST" ;
System.IO.Stream myStream = myReq.GetRequestStream();
int iCount = 0 ;
int utflen = bytSend.Length;
byte a = (byte) ((utflen >> 8) & 0xFF);
byte b = (byte) ((utflen >> 0) & 0xFF);
byte[] bytSendUTF = new byte[utflen+2];
bytSendUTF[0] = a;
bytSendUTF[1] = b;
Array.Copy(bytSend,0,bytSendUTF,2,utflen);
while( iCount < bytSendUTF.Length )
{
if( iCount + 1024 > bytSendUTF.Length)
{
myStream.Write(bytSendUTF, iCount , bytSendUTF.Length - iCount );
iCount = bytSendUTF.Length ;
}
else
{
myStream.Write(bytSendUTF , iCount , 1024);
iCount += 1024;
}
}//while
myStream.Close();
// 接受数据
System.Net.HttpWebResponse myRes = null;
myRes = myReq.GetResponse() as System.Net.HttpWebResponse ;
myStream = myRes.GetResponseStream();
System.IO.MemoryStream myBuf = new System.IO.MemoryStream(1024);
byte[] bytBuf = new byte[1024];
int ContentLength = (int)myRes.ContentLength ;
int AcceptLength = 0 ;
while(true)
{
int iLen = myStream.Read(bytBuf,0,1024);
if(iLen ==0)
break;
myBuf.Write(bytBuf,0,iLen);
AcceptLength += iLen ;
if( AcceptLength > ContentLength )
ContentLength = AcceptLength ;
}//while
myStream.Close();
myRes.Close();
myReq.Abort();
byte[] bytReturn = myBuf.ToArray();
myBuf.Close();
return bytReturn;
}// public static byte[] HttpPostData()
}