SetRequestHeader() public method

public SetRequestHeader ( string name, string value ) : void
name string
value string
return void
Esempio n. 1
0
            public UnityRequest(UnityHttpClientV2 inst, string url, HttpRequest request, object previousUserData, int requestId)
                : base(inst, request)
            {
                self = inst;
                OriginalRequest = request;
                RequestId = requestId;
                PreviousUserData = previousUserData;

                Request = new UnityWebRequest(url);
                // Auto-choose HTTP method
                Request.method = request.Method ?? (request.Body != null ? "POST" : "GET");
                // TODO Missing functionality (currently unsupported by UnityWebRequest).
                //				req.SetRequestHeader("User-agent", request.UserAgent);
                //				req.keepAlive = true;
                foreach (var pair in request.Headers) {
                    Request.SetRequestHeader(pair.Key, pair.Value);
                }

                if (OriginalRequest.Body != null) {
                    UploadHandler uploader = new UploadHandlerRaw(OriginalRequest.Body);
                    if (ContentType != null) uploader.contentType = ContentType;
                    Request.uploadHandler = uploader;
                }
                Request.downloadHandler = new DownloadHandlerBuffer();
            }
Esempio n. 2
0
 public static UnityWebRequest Post(string uri, WWWForm formData)
 {
     UnityWebRequest request = new UnityWebRequest(uri, "POST") {
         uploadHandler = new UploadHandlerRaw(formData.data),
         downloadHandler = new DownloadHandlerBuffer()
     };
     foreach (KeyValuePair<string, string> pair in formData.headers)
     {
         request.SetRequestHeader(pair.Key, pair.Value);
     }
     return request;
 }
 /// <summary>
 /// 下载文件
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="fileMode">Append为断点续传,Create为新建文件</param>
 /// <param name="remoteFileSize">Append模式下必传,远端文件大小</param>
 /// <param name="remoteLastModified">Append模式下必传,远端文件最后修改日期</param>
 /// <returns></returns>
 public static IEnumerator DownloadFile(string fileName, OnDownloadFileFinished onDownloadFileFinidhed,
     FileMode fileMode = FileMode.Create, long remoteFileSize = 0, DateTime remoteLastModified = new DateTime())
 {
     string url = BaseDownloadingURL + fileName;
     string filePath = Path.Combine(AssetBundleUtility.LocalAssetBundlePath, fileName);
     using (UnityWebRequest request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET))
     {
         if (File.Exists(filePath) && fileMode == FileMode.Append)
         {
             FileInfo localFileInfo = new FileInfo(filePath);
             bool isOutdate = remoteLastModified > localFileInfo.LastWriteTime;
             if(localFileInfo.Length == remoteFileSize && !isOutdate)//已下载完成
             {
                 onDownloadFileFinidhed(fileName, null);
                 yield break;
             }
             if (localFileInfo.Length < remoteFileSize && !isOutdate)//继续下载
             {
                 request.downloadHandler = new DownloadHandlerFile(filePath, FileMode.Append);
                 request.SetRequestHeader("Range", string.Format("bytes={0}-", localFileInfo.Length));
             }
             else//重新下载
             {
                 request.downloadHandler = new DownloadHandlerFile(filePath);
             }
         }
         else
         {
             request.downloadHandler = new DownloadHandlerFile(filePath);
         }
         CurrentRequest = request;
         yield return request.Send();
         string error = request.isError ?
             string.Format("DownloadFile Failed - url: {0}, responseCode: {1}, error: {2}", url, request.responseCode, request.error)
             : null;
         onDownloadFileFinidhed(fileName, error);
     }
     CurrentRequest = null;
 }
 /// <summary>
 ///   <para>Create a UnityWebRequest configured to send form data to a server via HTTP POST.</para>
 /// </summary>
 /// <param name="uri">The target URI to which form data will be transmitted.</param>
 /// <param name="formData">Form fields or files encapsulated in a WWWForm object, for formatting and transmission to the remote server.</param>
 /// <returns>
 ///   <para>A UnityWebRequest configured to send form data to uri via POST.</para>
 /// </returns>
 public static UnityWebRequest Post(string uri, WWWForm formData)
 {
   UnityWebRequest unityWebRequest = new UnityWebRequest(uri, "POST");
   unityWebRequest.uploadHandler = (UploadHandler) new UploadHandlerRaw(formData.data);
   unityWebRequest.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
   using (Dictionary<string, string>.Enumerator enumerator = formData.headers.GetEnumerator())
   {
     while (enumerator.MoveNext())
     {
       KeyValuePair<string, string> current = enumerator.Current;
       unityWebRequest.SetRequestHeader(current.Key, current.Value);
     }
   }
   return unityWebRequest;
 }