我有一个常规的基于浏览器的YouTube上传表单,如下图所示。 它在IE,Chrome和旧版Firefox的伟大工程。 然而,我的Firefox 16.0.2,只是挂在POST。 我已经复制在用Firefox 16.x.其他计算机上的问题
文件上传正确,如果我手动从改变YouTube的URL重写SSL:HTTPS://uploads.gdata.youtube.com到http://uploads.gdata.youtube.com。
为了使事情更奇怪的,该请求没有登录所有在Firebug Net标签上。 在Firefox的Web控制台 ,可以看我的请求,但是响应和状态代码是完全缺失的。 然后,如果我使用Fiddler与解密HTTPS流量选项正确启用了文件上传。
任何人有任何想法可能是怎么回事或者如何监控没有解决问题的SSL流量?
<!DOCTYPE html>
<html>
<head><title>YouTube Test</title></head>
<body>
<form id="frmYouTube" enctype="multipart/form-data" method="post" action="https://uploads.gdata.youtube.com/action/FormDataUpload/YOU_TUBE_URL?nexturl=https%3a%2f%2fMY.DOMAIN.COM%2fDIR_1%2fDIR_2%3fid2%3dLOCAL_ID">
<table>
<tr><td><input type="file" name="file" /></td></tr>
<tr><td>
<input type="hidden" name="token" value="MY_YOUTUBE_TOKEN" />
<input type="submit" value="Upload" />
</td></tr>
</table>
</form>
</body>
</html>
YouTube网址和令牌的使用ASP.Net与Google.GData.YouTube库后端产生。 下面是部分代码:
public class BaseModel
{
public string SITE_YOUTUBE_APP_NAME = "";
public string SITE_YOUTUBE_DEV_KEY = "";
public string SITE_YOUTUBE_USERNAME = "";
public string SITE_YOUTUBE_PASSWORD = "";
public string YOUTUBE_CATEGORY = "";
public FormUploadToken FormToken;
public void Load()
{
YouTubeRequestSettings settings = new YouTubeRequestSettings(
SITE_YOUTUBE_APP_NAME, SITE_YOUTUBE_DEV_KEY,
SITE_YOUTUBE_USERNAME, SITE_YOUTUBE_PASSWORD);
YouTubeRequest request = new YouTubeRequest(settings);
Video newVideo = new Video();
string title = "Test Title";
string description = "Test Description";
newVideo.Title = title;
newVideo.Tags.Add(new MediaCategory(YOUTUBE_CATEGORY, YouTubeNameTable.CategorySchema));
newVideo.Keywords = "test";
newVideo.Description = description;
newVideo.YouTubeEntry.Private = false;
FormToken = request.CreateFormUploadToken(newVideo);
}
}