java訪問伺服器
多次需要把文件上傳到單獨的伺服器,而程序是在單獨的伺服器上部署的,在進行文件操作的時候就需要跨伺服器進行操作包括:文件上傳、文件下載、文件刪除等。跨伺服器文件操作一般是需要FTP協議和SFTP協議兩種,現在就通過Java實現FTP協議的文件上傳。要實現FTP操作文件需要引入jar包: commons-net-1.4.1.jar
參考資料來源:網路貼吧
Ⅱ java socket編程 怎麼訪問內網的伺服器
我的方向有點和你不一樣,但是關於socket的一般是差不多的,建議你找找socket流的知識.
Socket內含輸入,輸出流,只需獲取Socket的流對象,就可以對流進行讀寫操作了。比如,若想向Socket的輸出流寫數據,只須另一方從自己的Socket的輸入流中讀取數據即可給你個例子吧,是模擬客戶端和伺服器端的數據交互.
//客戶端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;
public class MyClent { public static void main(String[] args) { PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { Socket scoket = new Socket("127.0.0.1", 1254); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ ps.println("客戶端向伺服器發送的數據是:"+message.readLine()); System.out.println(br.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
//伺服器端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;
public class MyServer {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { ServerSocket server = new ServerSocket(1254); Socket scoket = server.accept();// new Test(scoket); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.println(br.readLine()); ps.println("伺服器向客戶端發送的數據是:"+message.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}</p></font></p>
Ⅲ 怎麼用java代碼連接到伺服器
首先就肯定要知道ServerSocket,服務端的服務埠以及伺服器的地址。
然後再用 Socket socket=new Socket(port,address);
最後,如果你需要接收數據之類的,就用socket.getInputStream(),發送數據用socket.getOutputStream()
Ⅳ JAVA 使用Socket 訪問HTTP伺服器
你好。訪問Web伺服器(例:www..com),需要根據Http協議發送相關請求頭,否則Web伺服器不會處理。這種處理就類似於你的代碼:(line = read.readLine()) != null。當然Web伺服器驗證的不是這個。
HTTP協議這里不會詳解,有需要可以查詢相關資料。
在你的代碼中加入:
longstart=System.currentTimeMillis();
SocketAddressaddress=newInetSocketAddress(InetAddress.getByName("www.javathinker.org").getHostAddress(),80);
Socketsocket=newSocket();
socket.connect(address);
System.out.println("連接成功-"+socket.getInetAddress()+":"
+(System.currentTimeMillis()-start)+"ms");
/**編寫簡單HTTP請求頭*/
StringBuildersb=newStringBuilder();
sb.append("GET/HTTP/1.1 ")
.append("Host:www.javathinker.org ")
.append("Connection:Close ");
OutputStreamout=socket.getOutputStream();
out.write(sb.toString().getBytes());
out.flush();
/**發送完成後flush*/
BufferedReaderread=newBufferedReader(newInputStreamReader(
socket.getInputStream()));
/**循環等待read接收*/
booleanb=true;
while(b){
if(read.ready()){
Stringline=null;
while((line=read.readLine())!=null){
System.out.println(line);
}
b=false;
}
}
Ⅳ 怎麼用java代碼連接到伺服器
用Socket類去連接
String ip = "192.168.0.57";
int port=7000;
InputStream in;
OutputStream out;
Socket sock = null;
try {
sock = new Socket(ip,port);
sock.setSoTimeout(60*1000);//設置超時
this.in = sock.getInputStream();
this.out = sock.getOutputStream();
} catch (Exception e) {
throw new Exception("與終端連接失敗!");
}
Ⅵ java 怎麼訪問伺服器的文件
http的話就用httpclient。open後,可以返回一個InputStream。這個就是你要讀到文件流。原理的話,參考你用瀏覽器打開這個鏈接顯示的內容。這個返回的是一個HTML網頁,需要你解析出裡面的文字(一般來說取body中間的內容就行)其實對於這種文
Ⅶ 怎麼實現java與伺服器連接
sqlSERVER----SERVER------CLIENT?
找好sqlserver的JDBC驅動,在SERVER中監聽埠、當有CLIENT連接時,訪問資料庫,返回給CLIENT
。。。
Ⅷ java web怎麼訪問伺服器指定路徑
可以把文件目錄配置在web.xml文件的初始化參數中, 通過ServletAPI讀取文件目錄
比如
定義一個Properties文件保存相關配置
#可以上傳文件的後綴名
extensions=pptx,docx.doc,txt,jpg,jar
#單個文件的大小1M
fileMaxSize=1048576
#總共上傳文件大小5M
totalFileMaxSize=5242880
#文件保存路徑
filePath=z:/temp
#臨時文件路徑
tempDir=z:/temp/temp
使用Listener在伺服器啟動時載入配置信息
1
2
3
4
5
6
7
8
9
10
11
ServletContext context = event.getServletContext();
InputStream inputStream = context
.getResourceAsStream("/WEB-INF/classes/file/upload/commons/uploadConfig.properties");
Properties properties = new Properties();
try {
properties.load(inputStream);
context.setAttribute("fileConfig", properties);
System.out.println("properties = " + properties.size());
} catch (IOException e) {
e.printStackTrace();
}
在你上傳文件時通過配置文件讀取路徑保存
String filePath = ((Properties) this.getServletContext().getAttribute("fileConfig"))
.getProperty(FileUploadConstants.FILE_PATH);
Ⅸ 怎樣通過java使用socks代理訪問伺服器
packagetest;
importjava.io.IOException;
importjava.util.Date;
importorg.apache.commons.httpclient.HttpClient;
importorg.apache.commons.httpclient.HttpException;
importorg.apache.commons.httpclient.UsernamePasswordCredentials;
importorg.apache.commons.httpclient.auth.AuthScope;
importorg.apache.commons.httpclient.methods.PostMethod;
publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
HttpClienthc=newHttpClient();
System.out.println("開始時間:"+System.currentTimeMillis());
for(inti=0;i<=100;i++)
{
try
{
//每10秒才會保存一次
Thread.sleep(12000);
}catch(InterruptedExceptione1)
{
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
Dated=newDate();
PostMethodpm=newPostMethod(
"http://www.tongaichina.com/post.asp?type=int&name=click&time="
+d.getTime());
try
{
//這里寫代理地址及埠
hc.getHostConfiguration().setProxy("代理地址",埠);
//這里是用戶名與密碼
=(
"用戶名","密碼");
hc.getState().setProxyCredentials(AuthScope.ANY,creds);
hc.executeMethod(pm);
System.out.println(pm.getResponseBodyAsString());
}catch(HttpExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println(i);
}
System.out.println("結束時間:"+System.currentTimeMillis());
}
}