boas preciso da vossa ajuda ha uns tens fiz o addon com login com um site agora tenho meu site com servidor dedicado onde estou a fazer o meu addon e quero adicioanar o login seguindo este tutorial
[GUIA] COMO ADICIONAR UMA FUNÇÃO DE LOGIN PARA O ADDON
Espero que isso ajude algumas pessoas! Eu criei recentemente um bom número de código que funciona para efetuar login na maioria dos sites e um método bastante confiável para adaptá-lo a diferentes sites. Eu, portanto, escrevi um pequeno guia para facilitar mais pessoas que fornecem funções de login em seus addons. Eu insisto que ele deve funcionar para a maioria dos sites, mas não funcionará para todos os sites. Não é muito complicado, mas entrei em muitos detalhes. Portanto, não seja adiada pelo tamanho deste post. Em primeiro lugar, aqui estão as funções de login. (Você precisará modificar isso) Baixe weblogin.py e aqui está a função que você deve usar em seu addon para carregar html com,
[/url]
para que você possa obter todos os dados legais agradáveis que
você precisará ajustar um pouco isso - veja a etapa 20
[url=http://code.google.com/p/anarchintosh-projects/downloads/detail?name=gethtml.py&can=2&q=]Download gethtml.py
Como funciona este código de login? Este código de login funciona preenchendo os formulários de nome de usuário e senha em um site, enviando a solicitação e salvando os cookies enviados pela resposta em um arquivo se o login for bem-sucedido.
Para verificar se o login foi bem sucedido, ele faz o html da resposta para algum texto que só aparece no html quando você está logado. Você então usa o arquivo de cookies ao carregar qualquer URL desse site (veja o fragmento do código no final da postagem)
O que você precisa fazer para configurar o código de login para o seu site de destino
Você precisará:
Google Chrome ou um sniffer de tráfego na web instalado.
Um login de trabalho para o seu site.[/font][/size][/color]
1. Em primeiro lugar, coloque seu nome de usuário e senha no campo CONFIGURAÇÕES DE TESTE de weblogin.py
ENCONTRANDO O STRING PARA VERIFICAR SEJA QUE TENHA LOGADO EM
2. Em seguida, abra a página de login do seu site no Google Chrome e abra a fonte da página em uma guia. 3. Agora faça o login. Novamente, abra a fonte da página em outra guia nova. 4. Agora, compare as duas fontes da página e tente encontrar uma diferença entre as duas que podem ser usadas para verificar se você está logado, usando a função de pesquisa Ctrl + F. Olhando para a página web real (não fonte da página), muitas vezes pode dar pistas para alguns sites, você pode encontrar 'Bem-vindo' ou 'Olá' na fonte da página. Alternativamente, você pode verificar se seu nome de usuário pode ser encontrado na fonte da página conectada.
color=#000000]5. Você obteve o seu texto especial, então, coloque isso no weblogin.py: [/color]
Vá para a função check_login e configure o login_in_string para o nome de usuário (sem aspas) ou "seu-especial-bit-of-text".
OBTENÇÃO DA LOGIN URL E DADOS DE FORMULAÇÃO
6. No Chrome, feche as abas que você abriu anteriormente, faça o login novamente no seu site e volte para a página de login. 7. Clique com o botão direito em qualquer lugar da página e selecione Inspecionar elemento. Uma grande barra de informações aparecerá. Selecione a guia Rede na parte superior da barra. Em seguida, verifique se a entrada All está selecionada na parte inferior. Em seguida, clique na coluna Timeline e, no menu suspenso, selecione Start Time. Para garantir que o campo esteja limpo antes de começar, clique no pequeno botão Limpar à esquerda de Tudo. Deve ser assim:
8. Agora você está pronto para capturar seus valores. Digite seus detalhes nos campos Nome de usuário e Senha na página da Web e faça login no seu site. Você deve ver muitos pedidos serem capturados no campo. 9. Uma vez que tudo termine de carregar, recorra o campo e procure as primeiras coisas que aconteceram quando você clicou no botão de logon.
Você deve ver o arquivo que foi enviado para efetuar o login. Pode ser nomeado como login ou signin.php, etc.
10. Se você não tiver certeza de qual arquivo enviou seu nome de usuário e senha, olhe através dos cabeçalhos do topo / primeiros arquivos enviados. Role para baixo dentro da entrada Cabeçalhos e tente encontrar seu nome de usuário e senha na seção Dados do formulário.
11. Supondo que você tenha encontrado os cabeçalhos do arquivo que enviou o seu log para o site, agora você pode usar seus valores em weblogin.py. Na parte superior do cabeçalho, você deve ver um valor chamado "URL da solicitação:". Esta é a sua URL de login. Salve isso para mais tarde. 12. Além do cabeçalho você deve ver uma seção chamada Dados do formulário. Copie esta seção e cole-a em um arquivo de texto vazio para mais tarde. Por exemplo:
13. Agora volte para o seu weblogin.py e role para baixo para a função doLogin. Você quer colar seu URL de login na seqüência login_url e colocar os dados do formulário na seção login_data entre os {suportes curly} (mas primeiro apague meus dados de formulário Fantasti.cc). Separar campo e valor com um ':' e cada campo com ','. Hardcode todos os campos para os valores que você encontrou nos Dados do formulário, exceto os campos de nome de usuário e senha - eles devem ser preenchidos com as palavras: nome de usuário e senha, repectivamente (sem aspas). TESTES
14. Certifique-se de colocar seu nome de usuário e senha nas CONFIGURAÇÕES DE TESTE, e agora teste se tudo funciona executando o arquivo. (pressione F5). Ele deve imprimir True se o login for bem-sucedido. Se isso funcionar, experimente deliberadamente erroneamente o seu nome de usuário ou senha e execute-o novamente. Agora deve imprimir False. 15. Alguma coisa errada? Verifique os valores do formulário (login_data), login_url e a seqüência de verificação de login. PARA USAR ESTE EM SEU ADDON 16. Siga seus dados das CONFIGURAÇÕES DE TESTE! Você não quer compartilhar seu nome de usuário e senha com o mundo inteiro por meio do seu código-fonte. 17. Procure na seção USAGE do weblogin.py para obter instruções, é muito fácil chamar isso do seu padrão.py
18. Você vai querer chamar weblogin.py no arranque do seu addon, então ligue-o junto com os primeiros diretórios que você adiciona. 19. Você também precisará colocar uma opção de Login de Uso e um campo Nome de Usuário e Senha em seu settings.xml, juntamente com as cadeias de idioma. Aqui está um exemplo de tais configurações.xml
Código:
Então, veja este exemplo muito áspero para como lidar com essas configurações no default.py
Você quer ligar para STARTUP_ROUTINES () quando você iniciar o addon. Este exemplo demonstra como você pode usar notificações para exibir se o login funcionou e adicionar certos diretórios se o login for bem-sucedido. Se você é inteligente, você pode até criar uma função de avatar para exibir o avatar do usuário na notificação de login bem-sucedida.
Código PHP:
20. Você também precisará usar o cookiefile ao carregar as páginas da web que você pretende raspar (se você quiser estar logado). É simples de fazer. Se você quiser, você pode usar o gethtml.py fornecido (link no topo da postagem). Você precisará abri-lo e editar a lista de URLs que ele irá carregar com os cookies. ele também contém instruções de uso. .
[GUIA] COMO ADICIONAR UMA FUNÇÃO DE LOGIN PARA O ADDON
Espero que isso ajude algumas pessoas! Eu criei recentemente um bom número de código que funciona para efetuar login na maioria dos sites e um método bastante confiável para adaptá-lo a diferentes sites. Eu, portanto, escrevi um pequeno guia para facilitar mais pessoas que fornecem funções de login em seus addons. Eu insisto que ele deve funcionar para a maioria dos sites, mas não funcionará para todos os sites. Não é muito complicado, mas entrei em muitos detalhes. Portanto, não seja adiada pelo tamanho deste post. Em primeiro lugar, aqui estão as funções de login. (Você precisará modificar isso) Baixe weblogin.py e aqui está a função que você deve usar em seu addon para carregar html com,
[/url]
para que você possa obter todos os dados legais agradáveis que
você precisará ajustar um pouco isso - veja a etapa 20
[url=http://code.google.com/p/anarchintosh-projects/downloads/detail?name=gethtml.py&can=2&q=]Download gethtml.py
Como funciona este código de login? Este código de login funciona preenchendo os formulários de nome de usuário e senha em um site, enviando a solicitação e salvando os cookies enviados pela resposta em um arquivo se o login for bem-sucedido.
Para verificar se o login foi bem sucedido, ele faz o html da resposta para algum texto que só aparece no html quando você está logado. Você então usa o arquivo de cookies ao carregar qualquer URL desse site (veja o fragmento do código no final da postagem)
O que você precisa fazer para configurar o código de login para o seu site de destino
Você precisará:
Google Chrome ou um sniffer de tráfego na web instalado.
Um login de trabalho para o seu site.[/font][/size][/color]
1. Em primeiro lugar, coloque seu nome de usuário e senha no campo CONFIGURAÇÕES DE TESTE de weblogin.py
ENCONTRANDO O STRING PARA VERIFICAR SEJA QUE TENHA LOGADO EM
2. Em seguida, abra a página de login do seu site no Google Chrome e abra a fonte da página em uma guia. 3. Agora faça o login. Novamente, abra a fonte da página em outra guia nova. 4. Agora, compare as duas fontes da página e tente encontrar uma diferença entre as duas que podem ser usadas para verificar se você está logado, usando a função de pesquisa Ctrl + F. Olhando para a página web real (não fonte da página), muitas vezes pode dar pistas para alguns sites, você pode encontrar 'Bem-vindo' ou 'Olá' na fonte da página. Alternativamente, você pode verificar se seu nome de usuário pode ser encontrado na fonte da página conectada.
color=#000000]5. Você obteve o seu texto especial, então, coloque isso no weblogin.py: [/color]
Vá para a função check_login e configure o login_in_string para o nome de usuário (sem aspas) ou "seu-especial-bit-of-text".
OBTENÇÃO DA LOGIN URL E DADOS DE FORMULAÇÃO
6. No Chrome, feche as abas que você abriu anteriormente, faça o login novamente no seu site e volte para a página de login. 7. Clique com o botão direito em qualquer lugar da página e selecione Inspecionar elemento. Uma grande barra de informações aparecerá. Selecione a guia Rede na parte superior da barra. Em seguida, verifique se a entrada All está selecionada na parte inferior. Em seguida, clique na coluna Timeline e, no menu suspenso, selecione Start Time. Para garantir que o campo esteja limpo antes de começar, clique no pequeno botão Limpar à esquerda de Tudo. Deve ser assim:
8. Agora você está pronto para capturar seus valores. Digite seus detalhes nos campos Nome de usuário e Senha na página da Web e faça login no seu site. Você deve ver muitos pedidos serem capturados no campo. 9. Uma vez que tudo termine de carregar, recorra o campo e procure as primeiras coisas que aconteceram quando você clicou no botão de logon.
Você deve ver o arquivo que foi enviado para efetuar o login. Pode ser nomeado como login ou signin.php, etc.
10. Se você não tiver certeza de qual arquivo enviou seu nome de usuário e senha, olhe através dos cabeçalhos do topo / primeiros arquivos enviados. Role para baixo dentro da entrada Cabeçalhos e tente encontrar seu nome de usuário e senha na seção Dados do formulário.
11. Supondo que você tenha encontrado os cabeçalhos do arquivo que enviou o seu log para o site, agora você pode usar seus valores em weblogin.py. Na parte superior do cabeçalho, você deve ver um valor chamado "URL da solicitação:". Esta é a sua URL de login. Salve isso para mais tarde. 12. Além do cabeçalho você deve ver uma seção chamada Dados do formulário. Copie esta seção e cole-a em um arquivo de texto vazio para mais tarde. Por exemplo:
13. Agora volte para o seu weblogin.py e role para baixo para a função doLogin. Você quer colar seu URL de login na seqüência login_url e colocar os dados do formulário na seção login_data entre os {suportes curly} (mas primeiro apague meus dados de formulário Fantasti.cc). Separar campo e valor com um ':' e cada campo com ','. Hardcode todos os campos para os valores que você encontrou nos Dados do formulário, exceto os campos de nome de usuário e senha - eles devem ser preenchidos com as palavras: nome de usuário e senha, repectivamente (sem aspas). TESTES
14. Certifique-se de colocar seu nome de usuário e senha nas CONFIGURAÇÕES DE TESTE, e agora teste se tudo funciona executando o arquivo. (pressione F5). Ele deve imprimir True se o login for bem-sucedido. Se isso funcionar, experimente deliberadamente erroneamente o seu nome de usuário ou senha e execute-o novamente. Agora deve imprimir False. 15. Alguma coisa errada? Verifique os valores do formulário (login_data), login_url e a seqüência de verificação de login. PARA USAR ESTE EM SEU ADDON 16. Siga seus dados das CONFIGURAÇÕES DE TESTE! Você não quer compartilhar seu nome de usuário e senha com o mundo inteiro por meio do seu código-fonte. 17. Procure na seção USAGE do weblogin.py para obter instruções, é muito fácil chamar isso do seu padrão.py
18. Você vai querer chamar weblogin.py no arranque do seu addon, então ligue-o junto com os primeiros diretórios que você adiciona. 19. Você também precisará colocar uma opção de Login de Uso e um campo Nome de Usuário e Senha em seu settings.xml, juntamente com as cadeias de idioma. Aqui está um exemplo de tais configurações.xml
Código:
Code:
<settings>
<setting id="use-account" type="bool" label="30200" default="false"/>
<setting id="username" type="text" label="30201" default="" enable="!eq(-1,false)"/>
<setting id="password" type="text" label="30202" default="" option="hidden" enable="!eq(-2,false)"/>
<setting id="hide-successful-login-messages" type="bool" label="30203" default="false" enable="!eq(-3,false)"/>
</settings>
Então, veja este exemplo muito áspero para como lidar com essas configurações no default.py
Você quer ligar para STARTUP_ROUTINES () quando você iniciar o addon. Este exemplo demonstra como você pode usar notificações para exibir se o login funcionou e adicionar certos diretórios se o login for bem-sucedido. Se você é inteligente, você pode até criar uma função de avatar para exibir o avatar do usuário na notificação de login bem-sucedida.
Código PHP:
Code:
import xbmc,xbmcaddon
def Notify(title,message,times,icon):
xbmc.executebuiltin("XBMC.Notification("+title+","+message+","+times+","+icon+")")
def LOGIN(username,password,hidesuccess):
uc = username[0].upper() + username[1:]
lc = username.lower()
logged_in = weblogin.doLogin(__datapath__,username,password)
if logged_in == True:
avatar = get_avatar(lc)
if hidesuccess == 'false':
Notify('Welcome back '+uc,'Fantasti.cc loves you','4000',avatar)
addDir(uc+"'s Videos",main_url+'user/'+lc+'/videos/save_date',1,avatar)
addDir(uc+"'s Collections",main_url+'user/'+lc+'/collections',2,avatar)
addDir(uc+"'s Favourited Collections",main_url+'user/'+lc+'/collections/favourited',2,avatar)
addDir(uc+"'s Rated Collections",main_url+'user/'+lc+'/collections/rated',2,avatar)
elif logged_in == False:
Notify('Login Failure',uc+' could not login','4000',default_image)
def STARTUP_ROUTINES():
#deal with bug that happens if the datapath doesn't exist
if not os.path.exists(__datapath__):
os.makedirs(__datapath__)
#check if user has enabled use-login setting
usrsettings = xbmcaddon.Addon(id=__addonname__)
use_account = usrsettings.getSetting('use-account')
if use_account == 'true':
#get username and password and do login with them
#also get whether to hid successful login notification
username = usrsettings.getSetting('username')
password = usrsettings.getSetting('password')
hidesuccess = usrsettings.getSetting('hide-successful-login-messages')
LOGIN(username,password,hidesuccess)
20. Você também precisará usar o cookiefile ao carregar as páginas da web que você pretende raspar (se você quiser estar logado). É simples de fazer. Se você quiser, você pode usar o gethtml.py fornecido (link no topo da postagem). Você precisará abri-lo e editar a lista de URLs que ele irá carregar com os cookies. ele também contém instruções de uso. .