Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

vb6 http post


Öne çıkan mesajlar

Mesaj tarihi:
Arkadaşım bir uygulama hazırlıyor uygulamanın yapacağı iş
bilgisayarda bulunana bir wav dosyasını ve yanında birkaç değişkeni www.xxxx.com/xxx.php adresine post etmesi gerekiyor oda post işleminde nassıl bir method kullanacagını bulamamış ne.

Yardımlarınızı beklıyorum.[signature][hline]
Mesaj tarihi:
bak bu java kodu ama bi fikir verir kesin..
said:

byte[] pdfByteArray = JasperExportManager.exportReportToPdf(jasperPrint);
response.setContentType("application/pdf");
response.setHeader("Content-disposition", "attachment; filename="+invoice.getFromName()+"-"+invoice.getToName()+"-"+invoice.getInvoiceId()+".pdf");
response.setContentLength(pdfByteArray.length);
ServletOutputStream out = response.getOutputStream();
out.write(pdfByteArray, 0, pdfByteArray.length);
out.flush();
out.close();


[Bu mesaj Ceday tarafından 12 Ağustos 2005 13:51 tarihinde değiştirilmiştir]
Mesaj tarihi:
zamanında böyle bi vb kodu yazmıştım her iki method için ama bunu form verileri için düşünmüştüm
said:
Public Function strbuild(method As String, url As String)
Dim st, host, pstarg, blow() As String
url = Replace(url, "", "/")
url = Replace(url, "http://", Empty)
blow() = Split(url, "/", 2)
host = blow(0)
pstarg = blow(1)
Debug.Print host + vbCrLf + pstarg
st = method + Space(1)
If method = "GET" Then
st = st + "/" + pstarg + " HTTP/1.1" + vbCrLf
ElseIf method = "POST" Then
If InStr(blow(1), "?") = 0 Then
method = "GET"
st = st + "/" + pstarg + " HTTP/1.1" + vbCrLf
GoTo goo
End If
blow() = Split(blow(1), "?", 2)
st = st + "/" + blow(0) + " HTTP/1.1" + vbCrLf
End If
goo:
st = st + "Accept: */*" + vbCrLf
st = st + "Accept -Language: tr" + vbCrLf
st = st + "Content-Type: application/x-www-form-urlencoded" + vbCrLf
st = st + "Accept -Encoding: gzip , deflate" + vbCrLf
st = st + "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" + vbCrLf
st = st + "Host: " + host + vbCrLf
If method = "POST" Then st = st + "Content-Length: " + Trim(Str(Len(blow(1)))) + vbCrLf
st = st + "Connection: Keep -Alive" + vbCrLf
st = st + "Cache-Control: no -cache" + vbCrLf
st = st + "" + vbCrLf
If method = "POST" Then
st = st + blow(1) + vbCrLf + vbCrLf
Else
st = st + vbCrLf
End If
strbuild = st
End Function


bide dosya upload etmek için delphiyle
said:
function TForm1.uploadstring(flnm:string;host:string):widestring;
var iFileHandle:integer;iFileLength: Integer;
iBytesRead: real;
Buffer: PChar;
i: Integer;
ln:char;content:widestring;
begin
if not fileexists(flnm) then begin result:='';exit end;
content:=content+'-----------------------------7d535b3524062e'+slinebreak;
content:=content+'Content-Disposition: form-data; name="fileupload"; filename="'+flnm+'"'+slinebreak;
content:=content+'Content-Type: text/plain'+slinebreak+slinebreak;
//assignfile(fl,flnm);
//reset(fl);
iFileHandle:=fileopen(flnm,fmopenread);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);
content:=content+buffer;
{
while not eof(fl) do
begin
read(fl,ln);
content:=content+ln;
end; }
content:=content+slinebreak+'-----------------------------7d535b3524062e--'+slinebreak;
result:='POST /upload.php HTTP/1.1'+slinebreak;
result:=result+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*'+slinebreak;
result:=result+'Referer: http://www.promek.net/'+slinebreak;
result:=result+'Accept-Language: tr'+slinebreak;
result:=result+'Content-Type: multipart/form-data; boundary=---------------------------7d535b3524062e'+slinebreak;
result:=result+'Accept-Encoding: gzip, deflate'+slinebreak;
result:=result+'User-Agent: Promek Uploader (compatible; MSIE 6.0; Windows NT 5.1; SV1)'+slinebreak;
result:=result+'Host: '+host+slinebreak;
result:=result+'Content-Length: '+floattostr(round(ibytesread))+slinebreak;
result:=result+'Connection: Keep-Alive'+slinebreak;
result:=result+'Cache-Control: no-cache'+slinebreak+slinebreak;
result:=result+content+slinebreak;
{closefile(fl);
assignfile(fl,'c:dump.txt');
rewrite(fl);
writeln(fl,result);
closefile(fl); }
end;

ama buffer olayı sorun çıkarmıştı ancak ufak dosyaları atabilmiştim[signature][hline]Fire in the Darkness...

[Bu mesaj Arthur_HellsFire tarafından 12 Ağustos 2005 15:04 tarihinde değiştirilmiştir]
Mesaj tarihi:
abi syntaxı bu kadar uyus bi dil daha olamaz bence :)

buffer olayı için, file ın length i kadar allocate etmişsin ilk basta, normalde kendin bi buffer secersin (genelde 1024-2048 byte falan olur), daha sonra okudukca diger tarafa yazarsın..

direk hepsini öle yaparsan, büyük filelarda memory felan kalmaz tabe :)
×
×
  • Yeni Oluştur...